Я две сущности, Carros
и Msg
, я ищу, чтобы получить Carros
, которые имеют Msg
сообщенияКак присоединиться к двум объектам с доктриной 2 и zf2?
$query = $entityManager->createQuery("
SELECT u
FROM Auto\Entity\Carros u
JOIN Auto\Entity\Msg m WITH m.idautoad=u.idcarros
WHERE u.identidade='".$emailidentidade."'
ORDER BY u.datadoanuncio DESC
");
Я использую Paginator:
// Create the paginator itself
$paginator = new Paginator(
new DoctrinePaginator(new ORMPaginator($query))
);
и я получаю следующие ошибки я имеют zend 2.3.9 и доктрину 2.4
Arquivo: C: \ websites \ aut о \ поставщик \ ZendFramework \ ZendFramework \ Библиотека \ Zend \ Paginator \ Paginator.php: 637
Mensagem: Ошибка получение итератора
C: \ сайтов \ \ автоматического поставщика \ доктрина \ ORM \ Lib \ Doctrine \ ORM \ Tools \ Разбивка \ WhereInWalker.php: 85
Mensagem:
не может рассчитывать запрос, который выбирает два из компонентов, не может сделать различие
его генерацией ошибки, когда я тр у сделать это:
$fi = $query->getResult();
, а затем
$paginator = new \Zend\Paginator\Paginator(new
\Zend\Paginator\Adapter\ArrayAdapter($fi)
);
Вы смотрите http://stackoverflow.com/questions/12785143/doctrine-pagination-with-left-joins? – hkulekci
У вас есть отношения ManyToOne между Carros и Msg? Если вы это сделаете, проверьте следующее: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html # one-to-many-twoirectional. В конце с этим двунаправленным преобразованием вам не нужно создавать соединение в вашем запросе, и вы можете решить свою проблему. – Hooli