Я объект под названием «Машина» с объединением в Entity «Событие»Symfony2 Учение Критерии
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="Event", mappedBy="machine", fetch="EXTRA_LAZY", cascade={"persist", "remove"})
*/
private $events;
В шаблоне веточку я итерацию над «Machine» сущностей
{% for machine in machines %}
<tr>
<td>{{ machine.name }}</td>
<td>{{ machine.lastEvent.value }}</td>
</tr>
{% endfor %}
Я хочу принести последнее событие для каждой машины
/**
* Get machine current event value
*
* @return Event
*/
public function getLastEvent()
{
$expression = Criteria::expr()
->eq('machine', $this->id);
$criteria = Criteria::create()
->setMaxResults(1)
->where($expression)
->orderBy(['id' => 'DESC']);
return $event = $this
->getEvents()
->matching($criteria)
->first();
}
При выполнении я получаю эту ошибку:
«Не удается совместить на ApiBundle \ Entity \ Event :: машине с не-объектным значением. Соответствующие объекты по идентификатору не совместим с совпадающими по коллекции в памяти, который сравнивает объекты по ссылке.»
Что я делаю неправильно?