查询以获取Laravel中的关系数据

用户名

我正在获取具有特定标签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_atdesc自动排序

而您想限制帖子,则需要限制其with关闭时间:

public static function getPostByTag($id){
    return Tag::where('id', $id)->has('posts')
              ->with(['posts' => function($q) {
                 $q->latest()->limit(5);
              }])->get();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章