Doctrine orm 使用r->getCousines()进行ayCollection?当您收到餐厅时,您是否可以通过使用r->getCousines()获取ArrayCollection来获取菜肴?正如我在问题中提到的,它是有效的,但它执行N+1查询,其中N是餐厅的数量。关键
Doctrine orm 使用r->getCousines()进行ayCollection?当您收到餐厅时,您是否可以通过使用r->getCousines()获取ArrayCollection来获取菜肴?正如我在问题中提到的,它是有效的,但它执行N+1查询,其中N是餐厅的数量。关键,doctrine-orm,Doctrine Orm,使用r->getCousines()进行ayCollection?当您收到餐厅时,您是否可以通过使用r->getCousines()获取ArrayCollection来获取菜肴?正如我在问题中提到的,它是有效的,但它执行N+1查询,其中N是餐厅的数量。关键是在1个查询中使用急切加载来完成它。正如我在问题中提到的,它是有效的,但它执行N+1个查询,其中N是餐厅的数量。关键是要在一个查询中快速加载。这是一个多个关系,所以菜系没有餐厅!你完全正确!我很抱歉没有看到这个暗示。我更新了查询以反映manyt
使用r->getCousines()进行ayCollection?当您收到餐厅时,您是否可以通过使用r->getCousines()获取ArrayCollection来获取菜肴?正如我在问题中提到的,它是有效的,但它执行N+1查询,其中N是餐厅的数量。关键是在1个查询中使用急切加载来完成它。正如我在问题中提到的,它是有效的,但它执行N+1个查询,其中N是餐厅的数量。关键是要在一个查询中快速加载。这是一个多个关系,所以菜系没有
餐厅
!你完全正确!我很抱歉没有看到这个暗示。我更新了查询以反映manytomy
关系。现在,它应该按照你期望的方式工作。这是一个多人的关系,所以烹饪没有餐厅!你完全正确!我很抱歉没有看到这个暗示。我更新了查询以反映manytomy
关系。现在,它应该按照您期望的方式工作。
/**
* @ManyToMany(targetEntity="Cuisine", fetch="EAGER")
*/
$qb = $em->createQueryBuilder();
$qb->select('r')
->from('Model\Restaurant', 'r')
->leftJoin('r.cuisines', 'c')
->where('c.id IN ?1')
->setParameter(1, $ids);
$query = $qb->getQuery();
$result = $query->getResult();
foreach ($result as $restaurant){
//contains the whole arrayCollection
var_dump($restaurant->getCuisines());
}
public function __construct() {
$this->cuisines = new ArrayCollection();
}