YII2的GridView这个写法怎么写

模型关系

public function getMember()  
{  
    return $this->hasOne(Member::className(), ['id' => 'creator'])->select(['realname']);  
}

view里GridView里

 GridView::widget([  
    'dataProvider' => $dataProvider,  
    'filterModel' => $searchModel,  
    'tableOptions' => ['class' => 'table table-striped table-bordered table-hover'],  
    'columns' => [  
         'fid',  
        'fname',  
        'remark',  
        'member.realname',//重点在这里
        ....

这个写法视图不能显示realname,要是把模型关系里的->select(['realname'])去掉,倒是能正常显示。member表里字段太多不想取出来,该咋写?

阅读 2.2k
1 个回答

大佬告知答案了:带上主键就可以了

return $this->hasOne(Member::className(), ['id' => 'creator'])->select(['id','realname']); 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进