谁一开始就是大神?

GridView+ActiveDataProvider怎样才能做到添加一条其他表的数据[2.0]

现在遇到一个问题,展示渠道表内的内容时,需要用到一个用户表的字段信息

controller

public function actionIndex()
{
    $dataProvider = new ActiveDataProvider([
        'query' => Channel::find(),
    ]);

    return $this->render('index', [
        'dataProvider' => $dataProvider,
    ]);
}

views

<?= GridView::widget([
    'dataProvider' => $dataProvider,

    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'channel_id',
        'channel_name',
        'email',<=================== 用户表内的一个字段
        'channel_created_at',
        [
                'class' => 'yii\grid\ActionColumn',
                'header' => '操作',
                'template' => '{view}{update}',
        ],
    ],
]); ?>

Channel模型里,定义一个getUser函数
两个思路:
1.联合查询数据,一次性把要的数据查询过来.
如楼上所示,还可以改进一下.
2.在要用到的地方临时查询数据.

赞(0) 打赏
未经允许不得转载:菜鸟之家 » GridView+ActiveDataProvider怎样才能做到添加一条其他表的数据[2.0]

评论 抢沙发

登录

找回密码

注册