我正在使用 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 關注
- 193 瀏覽
添加回答
舉報
0/150
提交
取消