定义了多对多关系,如何查询从表的信息,或者进行从表统计计算

来源: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,建议查询两次。

0
0

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程