如何循环收集,使用相同的列值分隔结果

时间:2017-02-04 18:28:19

标签: laravel laravel-5

我有一个表格,其中包含“Week”(整数)和“Lesson name”(字符串)的列。我正在返回集合并将其传递给视图,并希望循环遍历集合以按周分组课程。我该怎么做呢?我想我需要为每个循环使用a但不确定如何编写它?

2 个答案:

答案 0 :(得分:1)

您是否尝试过groupBy()方法?在:https://laravel.com/docs/5.2/queries#ordering-grouping-limit-and-offset

$users = DB::table('lessons')
            ->groupBy('week')
            ->having('week', '>', 1)
            ->get(['lesson_name']);
  

PS:我指的是Laravel 5.2文档,因为我目前使用的是5.2

答案 1 :(得分:0)

假设您的数据如下:

$data = [
    [
        'week' => 1,
        'lesson' => "A",
    ],
    [
        'week' => 2,
        'lesson' => "B",
    ],
    [
        'week' => 1,
        'lesson' => "C",
    ],
    [
        'week' => 1,
        'lesson' => "D",
    ]
];

然后,使用collect,您可以调用groupBy函数并传入参数(表的列)

$data = collect($data)->groupBy('week');