// These use statements to indicate which to use in case of duplicate class names
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Query\Expr\Join;
$qb = $this->createQueryBuilder('p'); //"p" for packet
$qb->select('p.description', 'art.id')
->join(
'p.article', // "p" for Packet Entity. "article" for property on Packet Entity
'art', // "art" as short name for relation
Join::WITH, // Join type
'art.id = :article' // the param on which should the join occur
)
->setParameter('article', $article); // Set the param with an instance
$result = $qb->getQuery()->getResult(); // Get the result
2条答案
按热度按时间jaql4c8m1#
来自zend项目的代码,尽管我认为symfony并没有什么不同。
在某个函数(如存储库函数)中使用querybuilder:
如果这是一个双向关系,您可以简单地使用默认值
EntityRepository
条令规定的职能。例如:
如果在实体中正确设置,则更容易:
rpppsulh2#
试着用魔法的方法
在控制器中,类似于: