我已经搜寻了大约2个小时,找不到这个问题的答案。我正在尝试通过Author / MemberID过滤博客帖子(使用silverstripe-blog模块)。到目前为止,我已经:
public function MyRecentPosts() {
$posts = BlogPost::get()
->sort('PublishDate','desc')
->limit(2);
return $posts;
}
显然,这只会返回最新的博客文章。我不确定我是否了解如何将Blog Post表与BlogPost_Authors表相关联...
任何建议将不胜感激。
好的BlogMemberExtension
应用于Member
类,它为您提供了一种通过“属于许多很多”关联来访问成员帖子的简便方法。
我在这里假设该函数将不在Member的扩展中,并且您将传递成员ID,因为它尚未出现在您的代码中。由于您的方法被命名为“ My LatestPosts”,因此这种假设可能很不正确,但是无论如何-这是一个示例:
public function MyRecentPosts($memberId)
{
$member = Member::get()->byId($memberId);
$posts = $member->BlogPosts()
->sort('PublishDate', 'desc')
->limit(2);
return $posts;
}
您也可以BlogPost
通过模型的“许多”关联来执行此操作:
$posts = BlogPost::get()
->filter(array('Authors.ID' => $memberId))
->sort('PublishDate', 'desc')
->limit(2);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句