0
我想選擇沒有提供給QueryBuilder#select(...)
的實體。在原始的SQL它應該是這樣的:如何使用Doctrine的QueryQuilder通過另一個實體類型選擇實體?
SELECT x.*
FROM aaa a
INNER JOIN bbb b ON a.document_id = b.id
INNER JOIN ccc c ON b.client_user_id = c.id
INNER JOIN xxx x ON c.client_id = x.id
WHERE a.id = 123
現在我想實現這個邏輯與QueryBuilder
:
$query = $queryBuilder->select('x')
->from(Aaa::class, 'a')
->join('a.bbb', 'b')
->join('b.ccc', 'c')
->join('c.xxx', 'x')
->where('a.id = :aId')
->setParameter('aId', $aId)
->getQuery()
;
但它不工作:
[Semantical Error] line 0, col -1 near 'SELECT x FROM': Error: Cannot select entity through identification variables without choosing at least one root entity alias.
如何與Doctrine的QueryQuilder一起工作?