public function afterDelete(Event $event, EntityInterface $entity, ArrayObject $options)
    {
        if (!$options['atomic']) {
            throw new FatalErrorException(__d('eav', 'Entities in fieldable tables can only be deleted using transactions. Set [atomic = true]'));
        }

        $valuesToDelete = TableRegistry::get('Eav.EavValues')
            ->find()
            ->contain('EavAttribute')
            ->where([
                'EavAttribute.table_alias' => $this->_table->table(),
                'EavValues.entity_id' => $this->_toolbox->getEntityId($entity),
            ]);

        foreach ($valuesToDelete as $value) {
            TableRegistry::get('Eav.EavValues')->delete($value);
        }
    }
public function afterDelete(Event $event, EntityInterface $entity, ArrayObject $options)
    {
        if (!$options['atomic']) {
            throw new FatalErrorException(__d('eav', 'Entities in fieldable tables can only be deleted using transactions. Set [atomic = true]'));
        }

        $valuesToDelete = TableRegistry::get('Eav.EavValues')
            ->find()
            ->contain('EavAttribute')
            ->where([
                'EavAttribute.table_alias' => $this->_table->table(),
                'EavValues.entity_id' => $this->_toolbox->getEntityId($entity),
            ]);

        foreach ($valuesToDelete as $value) {
            TableRegistry::get('Eav.EavValues')->delete($value);
        }
    }
public function afterDelete ( Event $ event , EntityInterface $ entity , ArrayObject $ options ) { if ( ! $ options [ 'atomic' ] ) { throw new FatalErrorException ( __d ( 'eav' , 'Entities in fieldable tables can only be deleted using transactions. Set [atomic = true]' ) ) ; } $ valuesToDelete = TableRegistry :: get ( 'Eav.EavValues' ) -> find ( ) -> contain ( 'EavAttribute' ) -> where ( [ 'EavAttribute.table_alias' => $ this -> _table -> table ( ) , 'EavValues.entity_id' => $ this -> _toolbox -> getEntityId ( $ entity ) , ] ) ; foreach ( $ valuesToDelete as $ value ) { TableRegistry :: get ( 'Eav.EavValues' ) -> delete ( $ value ) ; } }
After an entity was removed from database. Here is when EAV values are
removed from DB.

@param \Cake\Event\Event $event The event that was triggered
@param \Cake\Datasource\EntityInterface $entity The entity that was deleted
@param \ArrayObject $options Additional options given as an array
@throws \Cake\Error\FatalErrorException When using this behavior in non-atomic mode
@return void
After an entity was removed from database . Here is when EAV values are removed from DB .