2016-12-21 10 views
0

私は3つのテーブル(order,order_delivery,order_types)を持っています。すべてのテーブルにはモデルがあります。 orderについては、私はgridviewを作成します。表orderは、列order_numberを有し、表order_deliveryは、order_numberおよびorder_delivery_code、表 delivery_types_codeおよびdelivery_types_nameを有する。注文では、私は関数public function getType(){ return $this->hasOne(OrderDelivery::className(), ['order_id' => 'order_id']); }を書き、インデックスには'columns' => [ ['class' => 'yii\grid\SerialColumn'], 'type.order_delivery_code'と書いています。そして、gridviewの注文のorder_delivery_codeを取得します。グリッドビュー内でordersのorder_typeからdelivery_types_nameを取得するにはどうすればよいですか?注文モデルでモデル内の関係テーブル

答えて

0

はOrderDeliveryモデルにOrderDelivery

との関係を作成するには、このように行うSearchOrderに

をOrderDeliveryTypeする関係を作成します。

$query->with(['orderDelivery','orderDelivery.orderDeliveryType']) 

とindex.phpのGridViewの中:

'attribute'=>'orderDelivery.orderDeliverType.delivery_types_name' 
+0

この '$ query-> with(['orderDelivery'、 'orderDelivery.orderDeliveryT ype ']) '関数を追加しますか? – cruim

+0

ここで、gii crudのActiveDataProviderを生成するクラスは、ModelSearch、searchメソッドです – zakrzu