Ответы пользователя по тегу Doctrine ORM
  • Как осуществить поиск по реляционному полю в Doctrine?

    @D3lphi
    Когда вы работаете с ORM и пишете запросы с помощью query builder'а (или DQL), для вас не существует такого понятия как "столбец". Вы работаете с маппингом таблиц на сущности. Следовательно, в вашем распоряжении имеются поля сущности. В query builder'е вы обращаетесь к полям сущности, а не к столбцам таблицы. Чтобы обратиться к внешнему ключу сущности (например, составить условие без джоина отношения), используется встроенная в DQL функция IDENTITY(). В вашем случае это будет выглядеть примерно так:
    $query = $records->createQueryBuilder('d')
                    ->orderBy('d.id',  'ASC')
                    ->where('IDENTITY(d.version) = :version')
                    ->setParameter('version', $version)
                    ->getQuery();
    Ответ написан
    Комментировать