我正在获取具有特定标签ID的帖子,到目前为止,我有以下代码。
public static function getPostByTag($id) {
return Tag::with('posts')->whereHas('posts', function($q) use(&$id) {
$q->where('tags.id',$id);
})->get();
}
到目前为止,我获取的数据运行良好,但是现在,我想限制数据。我应该怎么做才能限制数据?
我尝试了以下方法:
public static function getPostByTag($id) {
return Tag::with('posts')->whereHas('posts', function($q) use(&$id) {
$q->where('tags.id',$id);
})->take(5)->get();
}
但是,它似乎不起作用。另外,我想按最新日期列出我的帖子。
看来您想通过来发帖tag_id
,您可以使用Tag::where('id', $id)
如果您想要最新的帖子,则可以使用->latest()
方法,它将按created_at
desc自动排序。
而您想限制帖子,则需要限制其with
关闭时间:
public static function getPostByTag($id){
return Tag::where('id', $id)->has('posts')
->with(['posts' => function($q) {
$q->latest()->limit(5);
}])->get();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句