我有以下关联:
餐厅 1:n 用餐 1:n 可用性
现在我想有一种方法可以获得今天所有的食物。有没有办法在实体中做到这一点?我考虑过标准API,但由于第二个关联,我不知道如何处理它。
class Restaurant {
public function getTodaysMeals() {
$criteria = Criteria::create()
->where(Criteria::expr()->eq('availabilities.date', '2015-10-20'));
return $this->getMeals()->matching($criteria);
}
}
===编辑===
这样我今天只能享用可用餐的餐厅,但我也希望餐厅不吃饭。
class RestarantRepository extends EntityRepository {
public function find() {
$this->createQueryBuilder('restaurant');
->addSelect('meals')
->addSelect('availabilities')
->leftJoin('restaurant.meals', 'meals')
->leftJoin('meals.availabilities', 'availabilities')
->where('availabilities.date', ':date');
->setParameter('date', '2015-10-21');
return $queryBuilder->getQuery()->getResult();
}
}