GridView 多个表关联 [ 2.0 版本 ]
目前表关系是
Orders:ID
productInfo:Orders_ID,products_ID
products:ID,Name
class OrdersSearch extends Orders
{
public function search($params)
{
$query->joinWith(['productInfo','products']);//==>这边表已经关联了
}
}
class Orders extends \yii\db\ActiveRecord
{
public function getProductInfo()
{
return $this->hasOne(ProductInfo::className(), ['DeviceID' => 'ID']);
}
public function getProducts()
{
return $this->hasOne(Products::className(), ['ID' => '`ProductInfo`.`ProductID`']);===>这边绑定上面获取到的值咋弄啊?
}
}
ellen 补充于 2015-04-14 15:38
解决啦!
class OrdersSearch extends Orders
{
public function search($params)
{
$query->joinWith(['products']);//==>关联最终要的数据所在的表
}
}
class Orders extends \yii\db\ActiveRecord
{
public function getProducts()
{
return $this->hasOne(Products::className(), ['ID' => 'ProductID'])
->viaTable('ProductInfo', ['DeviceID' => 'ID']);
//===>这边的'ProductInfo'是表名
}
}
共 0 个回答
没有找到数据。
ellen 苏州
注册时间:2015-03-31
最后登录:2015-06-05
在线时长:56小时55分
最后登录:2015-06-05
在线时长:56小时55分
- 粉丝13
- 金钱415
- 威望10
- 积分1075