如何在laravel eloquent中获取最新帖子和特定帖子ID

时间:2017-09-28 08:33:45

标签: laravel laravel-5 laravel-5.2

有没有办法获取分页的最新帖子我还想要一个特定的帖子到返回的集合中的第一个位置。 我试过这个......

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页。我想把它放到第一位。请指导我该怎么做。

由于

2 个答案:

答案 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();