zavier
- zavier 2016-04-20 已签到连续签到3天,获得了15个金钱
两个思路:
1.联合查询数据,一次性把要的数据查询过来.
如楼上所示,还可以改进一下.//在channel模型中添加 public function getUser() { return $this->hasOne(User::className(), ['user_id' => 'user_id']); } //在channelSearch中 public function search($params) { $query = Channel::find(); $query->joinWith(['user']); //添加此行进行联合查询 .... //在gridview中 <?= GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], 'channel_id', 'channel_name', 'user.email',//直接显示用户email 'channel_created_at', [ 'class' => 'yii\grid\ActionColumn', 'header' => '操作', 'template' => '{view}{update}', ], ], ]); ?>
2.在要用到的地方临时查询数据.
[ 'attribute' => 'user_id', 'value'=> function($key){return user::getuseremail($key['user_id'])} //自己定义一个函数查询用户email ],
也谢谢这位兄台认真的回答
- zavier 发表了说说求解如何获取补签卡
- zavier 2016-04-19 已签到连续签到2天,获得了10个金钱