Как я могу ограничить определенные объекты из моего queryBuilder? - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь использовать queryBuilder, чтобы получить пользователей, у которых НЕ было встречи с темой «ПК» («Приз контакта»). и соответствуют определенным критериям даты назначения в связанной сущности «Амонт». Пожалуйста, помогите!

Я снова использую queryBuilder, используя "clone", чтобы я мог выполнить поиск по результату queryBuilder, который был создан для отображения страницы. Я пытаюсь использовать метод notIn () из выражений queryBuilder

    $nots
    ->leftJoin('u.rendezVouses', 'rdv')
    ->andWhere("rdv.objetRDV = 'PC'");

    $qb
    ->select('u.id')
    ->leftJoin('u.amonts', 'a')
    ->andWhere($qb->expr()->notIn('u.id', $nots))
    ->andWhere('a.datePremierRDV <= :dateNj')
    ->andWhere('a.datePremierRDV >= :dateMini')
    ->andWhere($qb->expr()->isNotNull('a.datePremierRDV'))
    ->setParameter('dateNj', $dateNj)
    ->setParameter('dateMini', $dateMini);

    $array = $qb->getQuery()->getResult();

Вот сообщение об ошибке, которое я получаю в профилировщике Symfony:

Ошибка: метод Doctrine \ Common \ Collections \ArrayCollection :: __ toString () не должен выдавать исключение, перехвачено ErrorException: Catchable Fatal Error: Объект класса Doctrine \ ORM \ EntityManager не может быть преобразован в строку

...