按Eloquent ORM分组

Hug*_*sse 23 group-by laravel eloquent laravel-4

我正在寻找制作一个GROUP BY name 雄辩的ORM文档,但我没有找到任何东西,谷歌也没有.

有谁知道这是否可能?或者我应该使用查询构建器?

Ant*_*iro 38

Eloquent在内部使用查询构建器,因此您可以执行以下操作:

$users = User::orderBy('name', 'desc')
                ->groupBy('count')
                ->having('count', '>', 100)
                ->get();
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下你可能必须使用RAW:`groupBy(DB :: raw('YEAR(datetimefield)')) (11认同)

che*_*aby 6

Laravel 5

这为我工作(我使用laravel 5.6)。

$collection = MyModel::all()->groupBy('column');
Run Code Online (Sandbox Code Playgroud)

如果要将集合转换为纯PHP数组,则可以使用toArray()

$array = MyModel::all()->groupBy('column')->toArray();
Run Code Online (Sandbox Code Playgroud)