YII2 Activedataprovider自定义模板

YII2 Activedataprovider自定义模板,yii2,Yii2,假设我们有三个表,tbl_学生,tbl_课程和tbl_分数(学生id,课程id,分数) 对于Activedataprovider,我们有: $query = \app\models\Score::find() ->joinWith('student', false) ->joinWith('lesson', false); $provider = new \yii\data\ActiveDataProvider([ 'query' => $array,

假设我们有三个表,tbl_学生,tbl_课程和tbl_分数(学生id,课程id,分数)

对于Activedataprovider,我们有:

$query = \app\models\Score::find()
    ->joinWith('student', false)
    ->joinWith('lesson', false);

$provider = new \yii\data\ActiveDataProvider([
    'query' => $array,
]);

echo GridView::widget([
    'dataProvider' => $dataProvider,
]);
因此,它给出了一个包含以下列的输出:学生id、课程id、分数:


学生证
第十一课
分数
1.
1.
99.5
1.
2.
54
1.
3.
87
2.
1.
76
2.
2.
84
2.
3.
69

第一排是什么意思?能否在问题中添加所需网格视图的草图?根据需要,您必须配置列,即每个列的顺序和内容。看一看。您可能希望使用joinWith('student',true)预取数据。@robsch感谢您的评论;我更新了我的帖子,希望它更清晰。好的。有一件事需要澄清:colums是否固定在第1课、第2课、第3课,并且每个学生都可以使用,或者是这种动态的(这会让事情变得更难)?@robsch the lesson_*是课程,例如课程ID。因为我无法将数字指定为属性,所以我在它们前面加上了“lesson_*前缀”;所以它们确实是动态的。但是它们是动态的还是由某种东西决定的?你说第一排是什么意思?能否在问题中添加所需网格视图的草图?根据需要,您必须配置列,即每个列的顺序和内容。看一看。您可能希望使用joinWith('student',true)预取数据。@robsch感谢您的评论;我更新了我的帖子,希望它更清晰。好的。有一件事需要澄清:colums是否固定在第1课、第2课、第3课,并且每个学生都可以使用,或者是这种动态的(这会让事情变得更难)?@robsch the lesson_*是课程,例如课程ID。因为我无法将数字指定为属性,所以我在它们前面加上了“lesson_*前缀”;所以它们确实是动态的,但它们是动态的还是由某种东西决定的?