在我的Symfony2項目,我有這樣的查詢:Symfony2中和Doctrine2 - QueryBuilder的與關係實體
$paperQB = $this->createQueryBuilder('p')
->select('p')
->where("p.title LIKE :q OR p.keywords LIKE :q OR p.abstract LIKE :q OR p.id LIKE :q")
->setFirstResult($first_result)
->setMaxResults($papers_per_page)
->orderBy($sort_by_culumn, $sort_by_order)
->setParameter('q', '%'.$q.'%');
一切都很好有,但在我的論文的實體,我與一個多對一的關係部分實體。所以,我想也可以得到:
"OR p.section.name LIKE :q"
這怎麼可能,我應該用在爲了做到這一點聯接?查詢圖片不知道如何在控制器中使用這些關係:$p->getSection()->getName()
或在樹枝p.section.name
?
非常感謝。
編輯:
我所做的那一刻:
$paperQB = $this->createQueryBuilder('p')
->select('p')
->where("p.title LIKE :q OR p.keywords LIKE :q OR p.abstract LIKE :q OR p.id LIKE :q OR s.name LIKE :q OR c.name_full LIKE :q")
->leftJoin('p.conference', 'c')
->leftJoin('p.section', 's')
->setFirstResult($first_result)
->setMaxResults($papers_per_page)
->orderBy($sort_by_culumn, $sort_by_order)
->setParameter('q', '%'.$q.'%');
但爲什麼查詢生成器不使用實體和它們之間的關係?
謝謝你的回答。 –