protected function getInsertValues(AbstractEntity $entity) { return array('sid' => $entity->get('sid'), 'status' => $entity->get('status', 'enabled'), 'datetime_start' => $entity->need('datetime_start'), 'datetime_end' => $entity->need('datetime_end'), 'capacity' => $entity->get('capacity')); }
/** * Deletes an entity and all respective meta properties (through database foreign keys). * * @param AbstractEntity|int $entity * @return int * @throws InvalidArgumentException */ public function delete($entity) { if ($entity instanceof AbstractEntity) { $eid = $entity->need($entity->getPrimary()); } else { $eid = $entity; } if (!(is_numeric($eid) && $eid > 0)) { throw new InvalidArgumentException('Entity id must be numeric'); } $entity = $this->get($eid); $id = $entity->getPrimary(); $deletion = $this->entityTable->delete(array($id => $eid)); $this->getEventManager()->trigger('delete', $entity); return $deletion; }