Yii2 将普通查询转换为 eloquent

Yii2 converting a normal query into eloquent

如何在 Yii2 中使用 Query Builder 编写此代码?

SELECT * FROM `report_details` order by `report_id` <> 5, reference_no

谢谢。

如果你想在顶部显示 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 fiddle: http://sqlfiddle.com/#!9/d7cb6/2