[英]Symfony Doctrine get entity through another entity
我有3個實體:用戶,ImaginaryBankAccount和充值。 一個用戶擁有一個ImaginaryBankAccount,而ImaginaryBankAccount可以具有多個充值。 我想從數據庫中選擇屬於一個用戶的所有充值。
我有這個查詢:
$resResults = $query->getResult();
$query = $em->createQuery('SELECT rec
FROM AppBundle:Recharge rec
WHERE rec.dateTime > :tresholdDate
AND rec.imaginaryBankAccount.user = :user
ORDER BY rec.dateTime'
)->setParameter('tresholdDate', $dateXDaysBack)
->setParameter('user', $filter->getUser());
$recResults = $query->getResult();
但這會引發錯誤:
[語義錯誤]行0,在'user =:user'附近的col 223:錯誤:類AppBundle \\ Entity \\ Recharge沒有名為imaginaryBankAccount.user的字段或關聯
如何使用Doctrine2實現我的目標?
您必須為您的imaginaryBankAccount
關系添加一個JOIN子句,如下所示:
SELECT rec
FROM AppBundle:Recharge rec
JOIN rec.imaginaryBankAccount i
WHERE rec.dateTime > :tresholdDate
AND i.user = :user
ORDER BY rec.dateTime
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.