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