Doctrine 作为返回值的多对多属性原则
我有一个两个实体的餐厅和美食,餐厅与美食有着多对多的关系,有趣的是,美食 所以如果我有两个餐厅(rest1,rest2)和两种烹饪(印度菜,中国菜),而这两个餐厅都只有印度菜Doctrine 作为返回值的多对多属性原则,doctrine,doctrine-orm,many-to-many,Doctrine,Doctrine Orm,Many To Many,我有一个两个实体的餐厅和美食,餐厅与美食有着多对多的关系,有趣的是,美食 所以如果我有两个餐厅(rest1,rest2)和两种烹饪(印度菜,中国菜),而这两个餐厅都只有印度菜 rest1 indian rest2 indian 我想通过查询生成器执行一个DQL查询,该查询返回一个菜系列表以及分配给该菜系的餐厅数。理论上是这样的 $qb->select('rc AS cuisine, COUNT(r) AS restaurantCount') ->from('Restaur
rest1 indian
rest2 indian
我想通过查询生成器执行一个DQL查询,该查询返回一个菜系列表以及分配给该菜系的餐厅数。理论上是这样的
$qb->select('rc AS cuisine, COUNT(r) AS restaurantCount')
->from('Restaurant', 'r')
->join('r.cuisines', 'rc')
->addGroupBy('rc');
因此,我想
cuisine: indian restaurantCount: 2
我知道这将给出一个错误,因为需要返回主实体 我也知道,通过创建和使用多对多的倒数,这是可能的,但我试图避免给菜肴赋予餐厅属性,以避免双向关系的复杂性
使用餐厅作为主选择表是否可能获得预期结果?以一种干净的面向对象的方式,如果不使用双向关系,我认为这是不可能的。
这没有多大意义,你选择的是餐馆,但返回其他东西 但是,您始终可以将原始SQL用于此类操作。
IMHO的解决方案比为此而强制建立双向关系更快、更干净