CreateQueryBuilder для таблицы ассоциации, которая не имеет сущности - PullRequest
0 голосов
/ 07 января 2019

У меня есть таблица ассоциации, в которой нет самой сущности, внутри сущности. Я могу сделать необработанный или нативный запрос, но я хочу использовать createQueryBuilder. Как я могу?

Вот необработанный запрос, который я хочу преобразовать в createQueryBuilder:

    $sql = 'SELECT t.* FROM tasks t LEFT JOIN question_tasks qt ON t.id = qt.task_id WHERE qt.question_id = :qtId';

    $rsm = new ResultSetMappingBuilder($this->_em);
    $rsm->addRootEntityFromClassMetadata(Task::class, 't');
    $query = $this->_em->createNativeQuery($sql, $rsm);
    $query->setParameter('qtId', $questionId);

    return $query->getResult();

Спасибо.

1 Ответ

0 голосов
/ 07 января 2019

Невозможно использовать Doctrine ORM без сущности. QueryBuilder просто конвертирует в DQL. DQL делает запросы по вашей объектной модели.

Говорит документация

Вы должны думать о DQL как о языке запросов для вашей объектной модели, не для вашей реляционной схемы.

Проверьте документы здесь Язык запросов доктрины

...