关于关系及其计数的SilverStripe-where子句
我正在做一个SilverStripe项目。现在我正在查询数据。我想做的是让所有的记录运行where子句,计算它的关系 下面的查询将获取所有新闻页记录。新闻页面有很多博客。因此,他们有一对多的关系:关于关系及其计数的SilverStripe-where子句,silverstripe,silverstripe-4,Silverstripe,Silverstripe 4,我正在做一个SilverStripe项目。现在我正在查询数据。我想做的是让所有的记录运行where子句,计算它的关系 下面的查询将获取所有新闻页记录。新闻页面有很多博客。因此,他们有一对多的关系: NewsPage::get(); 因此,如果我想让所有博客都出现在新闻页面上,我必须这样做: $newPage->BlogPosts() 现在,我要做的是,我试图获取所有包含多个博客帖子的新闻页面: 像这样的任意代码 $newPage->where('BlogPosts.Count',
NewsPage::get();
因此,如果我想让所有博客都出现在新闻页面上,我必须这样做:
$newPage->BlogPosts()
现在,我要做的是,我试图获取所有包含多个博客帖子的新闻页面:
像这样的任意代码
$newPage->where('BlogPosts.Count', '>', 1)->get();
如何实现这一点?在SilverStripe 4中,我们可以对
$has\u many
或$many\u many
关系计数进行过滤,如下所示:
NewsPage::get()->filter([
'BlogPosts.Count():GreaterThan' => 1
]);
要使此功能正常运行,必须有一个名为
BlogPost
的$has\u many
或$many\u many
与BlogPost
的关系。谢谢您的回答。这正是我想要的。干杯