如何在yii2

时间:2015-12-10 02:35:04

标签: php yii2 yii2-advanced-app yii2-basic-app

大家好我有一个页面,我使用来自foreach的{​​{1}}循环显示数据。我想知道如何对这些类进行分组并相应地显示。

例如,我在页面上有注册表单,其中包含日期和类。 所以我想先按日期和类别对它们进行分组。我models模型的字段如下所示。

registration

现在在这个视图文件中我正在传递Registration id event_id dates class_id user_id title description 数组,所以我实际上没有简单的多维数组,所以我不能使用该逻辑对其进行分组和显示。这是我的视图代码来显示{{1 }}

$modelRegistration

我想获得如下的数组

forms

如果我可以按日期排序,而不是按照我想要只显示日期一次而不是在该日期之下,所有分组的课程和课程下我都可以显示其他信息。谢谢

3 个答案:

答案 0 :(得分:3)

使用date群组Array helper Map Group in yii2

映射您的模型数据
$model = Registration::findAll();
$registrationModels = ArrayHelper::map($model , 'event_id' ,'class_id' ,'dates');

答案 1 :(得分:0)

假设您的模型名称是注册,并且视图名称是vrego。

  1. 在你的控制器中

    //选择所有并按日期和class_name排序

    $registrations= Registration::find()
                    ->orderBy('date, class_name')
                    ->all();
    
    return $this->render('vrego', [
                    'registrations' => $registrations,
                ]);
    
  2. 然后在您的视图中循环$ registration并显示每条记录。

答案 2 :(得分:-1)

我正在尝试自己的结果: 你需要创建一个注册类,我认为你创建了一个注册,然后使用下面的查询,你将获得该信息。

 $events  = Registration::find()->all();
        foreach($events as $event){
            $new_array[$event->dates_date][][$event->class_id][]=$event;
        }
<pre>
after print_r($new_array);
<pre>