这是原生sql吧?
mysql 很容易写出来 就是运用AR Joinwith 不会写
order表 ordergoods表 goods表 merchant加盟商
order 与ordergoods 通过 order_id字段关联:
在order表 model里 建立关联
public function getOrderGoods()
{
return $this->hasMany(OrderGoods::className(), ['order_id' => 'order_id']);//一个order关联多个ordergoods
}
ordergoods与goods表通过goods_id 和id关联:
在ordergoods表model里 建立关联
public function getGoods()
{
return $this->hasOne(Goods::className(), ['id' => 'goods_id']);//一个ordergoods关联一个goods;
}
goods与merchant表通过merchant_id 和id关联:
在goods表merchant里 建立关联
public function getMerchant()
{
return $this->hasOne(Merchant::className(), ['merchant_id' => 'id']);//一个goods关联一个merchant;
}
在controller引用时:
$orderinfos = OrderInfo::find()
->joinWith(
['orderGoods'=>function($query){
$query->joinWith(['goods']);//ordergoods关联goods表
}]
)
->where('添加条件')
->all()
这样可以读出goods数据 加盟商的数据是要怎么写?