我正在使用doctrine查询构建器过滤客户端表 客户实体有一个字段$ orders
/**
* Bidirectional - One-To-Many (INVERSE SIDE)
* @ORM\OneToMany(targetEntity="Orders", mappedBy="client", cascade={"persist"} )
*
*/
private $orders;
和Order实体有一个字段$ client
/**
* @ORM\ManyToOne(targetEntity="Client", cascade="persist", inversedBy="orders")
* @ORM\JoinColumn(name="client", referencedColumnName="id", onDelete="SET NULL")
*
* */
private $client;
因此,在我的客户端存储库中,我正在尝试选择小于或等于某个值的客户端。
$qb->andWhere("client.orders <= :value");
但是我无法访问订单数量。
$qb->andWhere("count(client.orders) <= :value");
$qb->andWhere("client.orders.count <= :value");