大家好我有一个页面,我使用来自foreach
的{{1}}循环显示数据。我想知道如何对这些类进行分组并相应地显示。
例如,我在页面上有注册表单,其中包含日期和类。
所以我想先按日期和类别对它们进行分组。我models
模型的字段如下所示。
registration
现在在这个视图文件中我正在传递Registration
id
event_id
dates
class_id
user_id
title
description
数组,所以我实际上没有简单的多维数组,所以我不能使用该逻辑对其进行分组和显示。这是我的视图代码来显示{{1 }}
$modelRegistration
我想获得如下的数组
forms
如果我可以按日期排序,而不是按照我想要只显示日期一次而不是在该日期之下,所有分组的课程和课程下我都可以显示其他信息。谢谢
答案 0 :(得分:3)
使用date
群组Array helper Map Group in yii2
$model = Registration::findAll();
$registrationModels = ArrayHelper::map($model , 'event_id' ,'class_id' ,'dates');
答案 1 :(得分:0)
假设您的模型名称是注册,并且视图名称是vrego。
在你的控制器中
//选择所有并按日期和class_name排序
$registrations= Registration::find()
->orderBy('date, class_name')
->all();
return $this->render('vrego', [
'registrations' => $registrations,
]);
然后在您的视图中循环$ 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>