1 我是这样做的 2 1. searchModel里面: 3 $query = Order::find()->from(['o' => Order::tableName()]); 4 $query->joinWith(['dcUser0 u', 'product0 p']); 5 2. Order model里面 6 public function getDcUser0() 7 { 8 return $this->hasOne(DcUser::className(), ['uid' => 'uid']); 9 }10 11 public function getProduct0()12 {13 return $this->hasOne(Product::className(), ['product_id' => 'product_id'])->viaTable(OrderToProduct::tableName(), ['order_id' => 'order_id']);14 }15 16 17 表前缀:18 1. class OrderSearch extends Order19 2. Order model里面:20 public static function tableName()21 {22 return '{ {%order}}';23 }24 25 gii生成Order时候要选有表前缀26 27 关联做好后 gridview写法:28 [29 'label' => '商品名',30 'attribute' => 'product_name',31 'format' => 'raw',32 'value' => 'product0.name',33 'filter' => $searchModel->product_list,34 ],35 36 list37 38 public static function getActiveDataProvider(){39 return class_model::getActiveDataProvider(self::find(),5);40 }41 42 43 public function count($where_arg){44 return self::find()->where($where_arg)->count();45 }46 47 public function all($where_arg){48 return self::find()->where($where_arg)->all();49 }
posted on 2017-01-26 12:21 阅读( ...) 评论( ...)