我正在使用 Symfony4 并且我有两个实体User和Car.ACar有一个isRent类型的字段,bool还有一个user_id用于关系的数据库列。class User{ /** * @var Collection * * @ORM\OneToMany(targetEntity="Car", mappedBy="user") * * @Serializer\Type("ArrayCollection<ListRestAPI\Entity\Cars>") * @Serializer\Expose() */ private $cars;class Car { /** * @var User * * @ORM\ManyToOne(targetEntity="User", inversedBy="cars") */ private $user;现在我正在尝试获取所有租用汽车的用户。我当前的查询获取所有用户,无论他们是否租用汽车。$query = $this->createQueryBuilder('u') ->select() ->join('u.cars', 'c') ->andWhere(sprintf('%c.is_rent = :isRent', 'c')) ->setParameter('isRent', '1') ->groupBy('u.id') ->addOrderBy('u.id');如何仅获取User已租用汽车的实体?
1 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
尝试andWhere()
通过以下方式删除您的:
->having('c.isRent = 1')
由于您在查询中使用整数,因此无需使用绑定参数。您还应该删除setParameter()
.
- 1 回答
- 0 关注
- 180 浏览
添加回答
举报
0/150
提交
取消