如何使用DB::table('user')->select(DB::raw("(case when country!='".$country."' then 1 else 2 end)as country"),DB::raw("(count(post))as post"),DB::raw("(count(images))as images"))
->orderBy('country', 'ASC')
->orderBy('posts', 'desc')
->orderBy('images', 'desc')
->get();
在Yii2中写这个?
Query Builder
感谢。
答案 0 :(得分:0)
如果要在顶部显示report_id,然后在reference_no记录中显示相同的内容,则可以使用UNION直接使用sql。如果ReportDetails是型号名称:
$reportId = 2;
$referenceNo = 5;
$sql = sprintf("
select * from report_details where report_id = %d
union distinct
select * from report_details where reference_no = %d
", $reportId, $referenceNo);
$rows = ReportDetails::findBySql($sql)->all();
检查这个sql小提琴:http://sqlfiddle.com/#!9/d7cb6/2