コード例 #1
0
ファイル: EavBehavior.php プロジェクト: quickapps-plugins/eav
 /**
  * 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
  */
 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);
     }
 }