[0036]Queryの確認をするとき
■construct
単純にメモ
XXXController.php
//モデルを利用する場合
$query = Mail::query();
//クエリビルダを利用する場合
$query = DB::table('mails as m')
->select('m.*',
DB::raw("(
select concat(case_f,'_',no,'_',name,'_',ct_date) from (
SELECT '記録' as 'case_f',b.book_no as 'no',`book_date` as 'ct_date',passenger_name as 'name' FROM `books` as b inner join book_passengers as bp on bp.book_no = b.book_no WHERE bp.passenger_kbn = 1 and bp.passenger_email in (mm.gp_emails)
union all
(
SELECT '見積' as 'case_f',estimate_no as 'no',`created_at` as 'ct_date',estimate_name as 'name' FROM `estimates` WHERE `estimate_email` in (mm.gp_emails)
)
union all
(
SELECT '問合せ' as 'case_f',no,contact_date as 'ct_date',name FROM `tsj_order` WHERE `mail` in (mm.gp_emails)
)
order by ct_date desc limit 1) as d) as 'log'
"));
$query->Join('mail_members as mm', 'mm.id', '=', 'm.member_id');
if($mail_kbn == 1){
$query->where('administrator_id',$me);
}else{
$query->where('administrator_id',$user_mainmail_kbn);
}
var_dump(array($query->toSql(), $query->getBindings()));
if($item_cnt == 0){
$posts = $query->limit(50)->get();
}else{
$posts = $query->skip($item_cnt)->take(50)->get();
}