Пример #1
0
 /**
  * Removes given entity (or entity with given id) from database
  *
  * @param mixed $arg
  * @return mixed
  * @throws InvalidStateException
  */
 public function delete($arg)
 {
     $this->events->invokeCallbacks(Events::EVENT_BEFORE_DELETE, $arg);
     if ($arg instanceof Entity) {
         $this->checkEntityType($arg);
         if ($arg->isDetached()) {
             throw new InvalidStateException('Cannot delete detached entity.');
         }
     }
     $result = $this->deleteFromDatabase($arg);
     if ($arg instanceof Entity) {
         $arg->detach();
     }
     $this->events->invokeCallbacks(Events::EVENT_AFTER_DELETE, $arg);
     return $result;
 }