Fer*_*ras 2 orm doctrine join symfony
我刚刚开始探索Symfony2,我很惊讶它有多少很棒的功能.我开始在http://tutorial.symblog.co.uk/上做博客教程
但是使用2.1版而不是2.0版
我的问题是我有以下的Blog实体:
/**
* @ORM\OneToMany(targetEntity="Comment", mappedBy="blog")
*/
protected $comments;
Run Code Online (Sandbox Code Playgroud)
以及评论实体中的以下内容:
/**
* @var string $blog
*
* @ORM\ManyToOne(targetEntity="Blog", inversedBy="comments")
* @ORM\JoinColumn(name="blog_id", referencedColumnName="id")
*/
private $blog;
Run Code Online (Sandbox Code Playgroud)
我创建了获取最新博客的功能并加入了评论,因此我不必为每个博客添加延迟加载评论,并避免多次调用评论表,如下所示:
$qb = $this->createQueryBuilder('b')
->select('b')
->leftJoin('b.comments', 'c')
->addOrderBy('b.created', 'DESC');
Run Code Online (Sandbox Code Playgroud)
但是当我在twig模板中运行时,该查询的结果为:blog.comments
我得到了第一个查询,以便通过连接来检索正确的博客,但是然后我没有使用连接的注释值来调用每个注释表博客条目?如何绕过该特定情况的功能,但保持关系,以便我可以从视图博客页面获取博客的所有评论?
您还需要将注释对象添加到选择结果:
->select('b', 'c')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2144 次 |
最近记录: |