【发布时间】:2015-03-04 20:48:15
【问题描述】:
为什么我必须在教义关系中使用对象?
例如,我有两个实体 - 类别和帖子。从 jquery 我在控制器中接收到许多 id:
$categories = array(3, 5, 2);
如果我想要获取对象,那么我必须首先获取对象:
$cat = array();
foreach ($categories as $category) {
$cat[] = $this->getDoctrine()
->getRepository('AppBundle:Category')
->find($category);
}
只有现在我才能找到我的帖子:
$repository = $this->getDoctrine()
->getRepository('AppBundle:Post');
$query = $repository->createQueryBuilder('p');
$query->andWhere('p.category IN (:cat)')
->setParameter('cat', $cat);
$posts = $query->getQuery()->getResult();
为什么我不能在第二个查询中简单地使用 ids 类别?为什么我必须将对象传递给关系查询?为什么查询生成器看不到 category_id 而不是 category?
它对数据库收费并增加了页面加载时间。
【问题讨论】:
标签: php symfony doctrine-orm