Woj*_*ski 3 php doctrine query-builder symfony
大家.我有2个实体City和POI.映射看起来像这样:
class City {
/**
* @ORM\ManyToMany(targetEntity="POI", mappedBy="cities")
* @ORM\OrderBy({"position" = "ASC"})
*/
protected $pois;
Run Code Online (Sandbox Code Playgroud)
和
class POI {
/**
* @ORM\ManyToMany(targetEntity="City", inversedBy="pois")
* @ORM\JoinTable(name="poi_cities")
*/
protected $cities;
Run Code Online (Sandbox Code Playgroud)
我想使用QueryBuilder获取与某个城市至少有1个关联的所有POI.我应该使用exists()函数,但我不知道如何安静.
你必须得到Left join它们并检查是否cities为空.
$qb->select('p', 'c')
->from('AcmeDemoBundle:POI', 'p')
->leftJoin('p.cities', 'c')
->where('c IS NOT NULL');
Run Code Online (Sandbox Code Playgroud)
我没有对它进行过测试,但我希望它能为您提供总体方向.您可以QueryBuilder从这里了解更多相关信息.
| 归档时间: |
|
| 查看次数: |
6060 次 |
| 最近记录: |