我有一个场景,我需要根据来自UI的条件从数据库中group by
得到我的结果。 Laravel文档中的示例显示我可以像这样执行groupBy
:
$query->groupBy('col1','col2','col3');
但如果我希望这是有条件的,我该怎么做呢?以下是否有效?
$query->groupBy(function($query){
if($allowCol1 == true)
$query->groupBy('col1');
if($allowCol2 == true)
$query->groupBy('col2');
})->get();
答案 0 :(得分:3)
通过这种方式你可以
$query = Model::with('eagerload');
if($allowCol1 == true) $query->groupBy('col1');
if($allowCol2 == true) $query->groupBy('col2');
$variable = $query->get();