条件组使用Laravel

时间:2014-02-26 07:45:21

标签: mysql laravel group-by laravel-4

我有一个场景,我需要根据来自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();

1 个答案:

答案 0 :(得分:3)

通过这种方式你可以

$query = Model::with('eagerload');
if($allowCol1 == true) $query->groupBy('col1');
if($allowCol2 == true) $query->groupBy('col2');
$variable = $query->get();