下記のようなテーブルからstatusが1と2のレコードはdateの降順で取得して、statusが3のレコードは左記のstatusが1,2のレコードの後にdateの降順で取得したいです。(他にページネート、del_flgを指定)
よろしくお願いします。
テーブル
table
1id status date del_flg 21 1 2020-09-07 1 32 2 2020-09-04 1 43 3 2020-09-06 1 54 2 2020-09-09 1 65 3 2020-09-08 1
取得したい順番
table
1id status date del_flg 24 2 2020-09-09 1 31 1 2020-09-07 1 42 2 2020-09-04 1 55 3 2020-09-08 1 63 3 2020-09-06 1
試したクエリ
php
1// 下記クエリだとごちゃごちゃに表示されてしまします。 2 3$data1 = dt_paid_vacation::where('del_flg', 1) 4 ->where('staus', '3') 5 ->orderBy('date', 'desc'); 6 7$data2 = dt_paid_vacation::where('del_flg', 1) 8 ->where(function($query){ 9 $query->where('status', '1') 10 ->orWhere('status', '2'); 11 }) 12 ->orderBy('date', 'desc') 13 ->union($data1) 14 ->simplePaginate(30); 15
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/08 12:33 編集