public function fetch($id)
{
$event = new DoctrineResourceEvent(DoctrineResourceEvent::EVENT_FETCH_PRE, $this);
$event->setEntityClassName($this->getEntityClass());
$event->setEntityId($id);
$eventManager = $this->getEventManager();
$response = $eventManager->triggerEvent($event);
if ($response->last() instanceof ApiProblem) {
return $response->last();
}
$entity = $this->findEntity($id, 'fetch');
if ($entity instanceof ApiProblem) {
return $entity;
}
$results = $this->triggerDoctrineEvent(DoctrineResourceEvent::EVENT_FETCH_POST, $entity);
if ($results->last() instanceof ApiProblem) {
return $results->last();
}
return $entity;
}