/** * Delete all attribtes after an delete. * * @param Doctrine_Event $event Event. * * @return void */ public function postDelete(Doctrine_Event $event) { $data = $event->getInvoker(); if (!isset($data['__META__'])) { return; } $tableName = $this->getTableNameFromEvent($event); $idColumn = $this->getIdColumnFromEvent($event); // determine meta id if (isset($data['__META__']['id'])) { $metaId = $data['__META__']['id']; } else { $dataForObjectUtil = array(); $dataForObjectUtil[$idColumn] = $data[$idColumn]; $dataForObjectUtil['__META__'] = $data['__META__']; if ($dataForObjectUtil['__META__'] instanceof ArrayObject) { $dataForObjectUtil['__META__'] = $dataForObjectUtil['__META__']->getArrayCopy(); } $meta = ObjectUtil::retrieveObjectMetaData($dataForObjectUtil, $tableName, $idColumn); $metaId = $meta['id']; } $dataForObjectUtil = array(); $dataForObjectUtil[$idColumn] = $data[$idColumn]; $dataForObjectUtil['__META__'] = $data['__META__']; $dataForObjectUtil['__META__']['id'] = $metaId; $dataForObjectUtil['__META__']['obj_id'] = $data[$idColumn]; if ($dataForObjectUtil['__META__'] instanceof ArrayObject) { $dataForObjectUtil['__META__'] = $dataForObjectUtil['__META__']->getArrayCopy(); } ObjectUtil::deleteObjectMetaData($dataForObjectUtil, $tableName, $idColumn); }