繁体   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