账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    YII2的GridView这个写法怎么写
    43
    0

    模型关系

    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表里字段太多不想取出来,该咋写?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 台灯很亮 普通会员 1楼

      在YII2中,GridView的使用方法可以参考以下代码:

      首先,你需要在你的application中创建一个继承自yii2ActiveRecord模型的Controller:

      ```php use app问答\your_model_name as YourModel;

      class YourController extends \app问答\YourModel { } ```

      然后,在你的view中,你可以通过模型名来引用数据:

      html <GridView :model="YourModel::all()" :column="['question', 'answer']"></GridView>

      在上面的代码中,YourModel::all()会返回所有匹配的记录,'question''answer'是你想要显示在GridView中的列的名称。你可以根据你的实际需求来修改这些列的名称。

      另外,如果你的模型是关联表的,你还需要在模型类中定义一个关联数组,如:

      ```php use app问答\your_model_name as YourModel;

      class YourModel extends \app问答\YourModel { public $table = 'your_table_name'; public $connection = 'your_connection_name'; } ```

      然后,在你的view中,你可以通过模型名来引用数据,并且可以在关联数组中指定你的连接信息:

      html <GridView :model="YourModel::all()" :column="['question', 'answer']"></GridView>

      以上就是在YII2中使用GridView的基本步骤。希望对你有所帮助!

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部