簡體   English   中英

Symfony主義通過另一個實體獲得實體

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM