代码之家  ›  专栏  ›  技术社区  ›  scopeak

如何在查询Laravel雄辩的结果时使用多个参数

  •  0
  • scopeak  · 技术社区  · 6 年前

    我通过一个Laravel雄辩的控制器查询DB帖子,我想先过滤帖子,然后分页。

    $filter = ['author_id' => $id, 'status' => 'live', 'type' => $type];
    $posts = Post::where($filter)->orderBy('id','desc')->get();
    $posts = Post::paginate(1, ['*'], 'page', $page);
    
    return $posts;
    

    当然,目前它只会分页。如何将两者结合起来 $posts 以便对过滤后的结果进行分页?

    谢谢!

    2 回复  |  直到 6 年前
        1
  •  2
  •   Seva Kalashnikov    6 年前

    简单到只需链接这些方法,如:

    $posts = Post::where($filter)
        ->orderBy('id','desc')
        ->paginate(1, ['*'], 'page', $page);
    
        2
  •  0
  •   Jesus Erwin Suarez    6 年前

    $filter = ['author_id' => $id, 'status' => 'live', 'type' => $type];
    
    $posts = new Post();
    $posts = $posts->where($filter);
    $posts = $posts->orderBy('id','desc');
    $posts = $posts->paginate(1, ['*'], 'page', $page);
    
    return $posts;