【发布时间】:2015-10-29 09:58:32
【问题描述】:
如何在查询中获得最活跃的博客标签?
我有这两个数据对象:
class BlogTag extends DataObject {
//...
/**
* @var array
*/
private static $belongs_many_many = array(
'BlogPosts' => 'BlogPost',
);
和
class BlogPost extends Page {
//...
/**
* @var array
*/
private static $many_many = array(
'Tags' => 'BlogTag',
);
现在我想知道如何获得一个包含所有 BlogTags 的 DataList,这些 BlogTags 按与它们相关的博客文章的数量排序。这是我已经拥有的,但不知何故我不知道如何按 BlogPosts.Count() 排序:
public function getPopularBlogTags($limit = 5) {
$tags = BlogTag::get()
->sort('BlogPosts.Count()') //doesn't work
->limit($limit);
return $tags;
}
【问题讨论】:
标签: silverstripe