我正在尝试解决以下问题。
我有OrderEntity,OrderEntity是与OrderStatusHistory(OneToMany)的关系。
<application>
OrderStatusHistory实体:
/**
* @ORM\OneToMany(targetEntity="OrderStatusHistory", mappedBy="order")
*/
protected $statuses;
现在我需要选择订单,其中最后一个状态 ID为4.我尝试了许多QB版本,但其中任何一个都不起作用。
答案 0 :(得分:1)
有几种方法,您可以加入该表并使用WITH,或者您可以使用WHERE
,或者您可以使用该ID。以下是一些例子:
使用DQL:
$dql = "SELECT o
FROM Order o
WHERE o.orderStatus = 4"
或
$dql = "SELECT o
FROM Order o
INNER JOIN o.orderStatus orderStatus
WITH orderStatus.id = 4"
OR:
$dql = "SELECT o
FROM Order o
INNER JOIN o.orderStatus orderStatus
WHERE orderStatus.id = 4"
或查询生成器:
$queryBuilder->select('o')
->from('Order', 'o')
->where('o.orderStatus = 4');