2015-04-14 14:53:41 3071次浏览 0条回答 2 悬赏 20 金钱

目前表关系是
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`']);===>这边绑定上面获取到的值咋弄啊?
	}
}
补充于 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'是表名
	}
}


    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
ellen
经理

ellen 苏州

注册时间:2015-03-31
最后登录:2015-06-05
在线时长:56小时55分
  • 粉丝13
  • 金钱415
  • 威望10
  • 积分1075

热门问题