2017-09-28 18 views
0

最新の投稿をページ区切りで取得する方法はありますか?返信されたコレクションの最初の位置に特定の投稿が必要です。私はこれを試してみました ...laravel eloquentの最新の投稿と特定の投稿IDを最初に取得する方法

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

id = 21のポストであるか、それとも他の多くの投稿ワンセ? – Maraboc

+0

post id = 21を含む他の多くの投稿 –

+0

クエリを分離し、結果として得られた2つのコレクションをマージするのはどうですか? – Maraboc

答えて

2

あなたは、mysqlはあなたが好きですか雄弁使用することにより文

+0

ありがとうございました –

0

順にブール式を使用することができますので、これはあなたのOrderBy

Post::orderBy(DB::raw('id = 5'), 'DESC') 
->orderBy('created_at', 'desc') 

で生のステートメントを使用することによって、これを達成することができますこの

Post::where('id', '=', 21)->orderBy('created_at','desc')->first(); 
関連する問題