怎么在Yii2的GridView中显示关联表数据 [ 2.0 版本 ]
表1是订单表:orders
order_id title created_at
1 订单1 1231382171
表2是订单产品表order_products
product_id order_id title create_at
1 1 产品1 1231382171
1 1 产品2 1231382171
订单和产品的关系是一对多的关系,请问在VIEW里同一页面显示时,$model->order_products
应该通过哪个组件实现,求助?
可以用GridView吗?
共 4 个回答
-
在Order 模型里relations()方法增加一条关联
public function relations(){ return array( ... 'order_products' => array(self::HAS_MANY, 'OrderProduct', 'order_id'), ); }
http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.arr#sec-4
共 1 条回复 -
首先在 Model里需要用hasOne或者hasMany关联
其次在Controller里$dataProvider = new ActiveDataProvider([ 'query' => $Admin->find()->with('user_info'), 'pagination' => [ 'pageSize' => 10, ] ]);
其次在View里
echo GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], 'user_name', [ 'label' => '真实姓名', 'value' => 'user_info.real_name', ],
共 4 条回复 -
共 3 条回复
cxmiaomu
注册时间:2015-01-14
最后登录:2017-05-21
在线时长:9小时51分
最后登录:2017-05-21
在线时长:9小时51分
- 粉丝5
- 金钱15
- 威望0
- 积分105