zavier

zavier

这家伙有点懒,还没写个性签名!

  • 财富值10890
  • 威望值30
  • 总积分64630

个人信息

  • 回复了 的说说
    准备周末之前发表一篇完整版的后台教程,包括rbac权限管理,整合一套漂亮的yii2模板,绝对货真价实
    插眼,方便传送
  • 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
    ],
    

    也谢谢这位兄台认真的回答

  • 回复了 的回答

    Channel模型里,定义一个getUser函数

    
    public function getUser()
    {
        return $this->hasOne(User::className(), ['user_id' => 'user_id']);
    }
    
    // gridview里调用
    
    [
         'attribute' => 'user_id',
          'value'=> $model->user ? $model->user->email : ''
    ],
    
    
    

    谢谢指导!

  • 回复了 的说说
    求解如何获取补签卡
    了解了,3Q
  • 回复了 的说说
    求解如何获取补签卡
    了解了
  • 发表了说说
    求解如何获取补签卡
  • 2016-04-19 已签到
    连续签到2天,获得了10个金钱
董事长 等级规则
64630/100000
资料完整度
50/100
用户活跃度
0/100

Ta的关注

22

Ta的粉丝

19

Ta的访客

100