有没有办法获取分页的最新帖子我还想要一个特定的帖子到返回的集合中的第一个位置。 我试过这个......
Post::where(function ($query) {
$query->where('status', 'draft')->orWhere('status', 'published');
})
->orWhere('id', 21)
->with(['author.profile'])
->orderBy('created_at', 'desc')
->paginate(3);
在此查询中,我确实获得了21
帖子ID,但它位于第3页。我想把它放到第一位。请指导我该怎么做。
由于
答案 0 :(得分:2)
您可以通过在orderBy
中使用原始语句来实现此目的Post::orderBy(DB::raw('id = 5'), 'DESC')
->orderBy('created_at', 'desc')
这是因为mysql可以按语句
的顺序使用布尔表达式答案 1 :(得分:0)
通过使用雄辩,你喜欢这个
Post::where('id', '=', 21)->orderBy('created_at','desc')->first();