我有一个数据模型,其中连接了两个表(使用Extension Builder创建)。
表A包含博客帖子,表B包含对各个帖子的评论。
表B以n:1的关系连接到表A。
现在,我想要一个博客帖子列表,其中显示每个帖子的评论数。
使用常规查询,我只需将带有计数和group by语句的表B连接起来。 像这样:
SELECT tableA.*, COUNT(tableB.id) FROM tableA
LEFT JOIN tableB on tableB.foreignKey = tableA.uid
GROUP BY tableB.foreignKey
对于Extbase查询,这似乎不起作用。从tableA到tableB没有连接。我该如何实现?
[编辑]我知道我可以自己编写查询语句。不过,我想使用T3的查询对象来做到这一点。
答案 0 :(得分:1)
首先,在您的控制器中,您需要获取博客文章并将其传递到您的模板:
/**
* @var \Namespace\PostsRepository
* @inject
*/
protected $postsRepository = null;
....
public function listAction () {
$posts = $this->postsRepository->findAll();
$this->view->assign('posts', $posts);
}
然后在模板中可以这样显示它:
<f:for each="{posts}" as="post">
{post.title} <f:count subject="{post.comments}" />
</f:for>