定义了多对多关系,如何查询从表的信息,或者进行从表统计计算
来源:13-17 获取用户信息
慕粉1472091201
2017-11-12
老师,定义关联关系的时候能传入参数会报错,例如:
//定义订单与商品是多对多关系
public function orDeals($data=[]){
$data['status']=>1
return $this->belongsToMany('Deal','OrderProduct','product_id','order_id')
->where($data);
}
public function getorProducts($sdata=[],$data=[]){
$sdata['status'] = 1;
$result = $this->where($sdata)->field('id,order_no,total_price,create_time,snap_address')
->with('orDeals($data)') <--------这里不能传入参数,否则会被误为是方法而不是关系
->select(); 《----有没有其他解决方法,可以查询从表Deal的信息
//
echo $this->getLastSql();
print_r($result);exit();
return $result;写回答
1回答
-
7七月
2017-11-17
多对多没有办法直接查询,而且多对多也没有主从。多对多有一个中间表pivot,建议查询两次。
00
相似问题