我在一个实体内部有一个关联表,该表本身没有实体。我可以对其执行原始查询或本机查询,但是我想在其上使用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();
谢谢。
答案 0 :(得分:0)
没有实体就无法使用Doctrine ORM。 QueryBuilder只是向下转换为DQL。 DQL对您的对象模型进行查询。
说文档
检查文档您需要考虑DQL作为对象模型的查询语言, 不适合您的关系模式。