我是laravel的新人。任何人都可以告诉我,如何使用groupBy与if else条件。 我已经开发了查询并直接在phpmyadmin中运行,显示结果很好。
查询下方
**SELECT * FROM toolboxes GROUP BY IF(check_group!='0',check_group, id)**
但是,当我通过laravel查询构建器传递groupBy时,不支持此格式。
$toolboxs = Toolbox::get()->sortByDesc('created_at')->groupBy(IF(check_group!='0',check_group, id))
->map(function ($toolboxs) {
return [
'id' => $toolboxs->id,
'groupId' => $toolboxs->check_group,
'title' => $toolboxs->title,
'brief' => $toolboxs->brief,
'description' => $toolboxs->description,
];
});
$query = DB::table('toolboxes')
->select(DB::raw("id,check_group,title,brief,description"))
->groupBy(if(check_group!='0',check_group, id))
->toSql();
我试过这些语法,但没有用。请帮帮我:)