Имам известен проблем с изтеглянето на свързани обекти от моята база данни с помощта на Doctrine2 в Symfony2. Имам персонализирано хранилище със следната функция:
public function getOrder($id) {
$DQL = 'SELECT request, orderer
FROM OrderRequestBundle:OrderRequest request
JOIN request.orderer orderer
WHERE request.id = :id';
$query = $this->getEntityManager()->createQuery($DQL)
->setParameter('id', $id)
->setMaxResults(1);
return $query->getResult();
}
... но по някаква причина, когато стартирам тази функция, получавам обратно прокси обект за обект OrderRequest, а не реално копие на OrderRequest, пропускам ли нещо? Изглежда, че Doctrine2 обича мързеливото зареждане и изглежда не мога да го вдигна от задника и да извлича обекти вместо мен.
АКТУАЛИЗАЦИЯ: Опитвам се просто да покажа информацията в шаблон на Twig с кода по-долу:
$order = $this->getDoctrine()
->getRepository('OrderRequestBundle:OrderRequest')
->getOrder($id);
return $this->render('OrderRequestBundle:Admin:view.html.twig', array('order' => $order));
Където Twig извиква информация за променливата „поръчка“ така:
{{ order.quantity }}
...но в крайна сметка получавам тази грешка:
Item "quantity" for "Array" does not exist in "OrderRequestBundle:Admin:view.html.twig" at line 5