TP6 关联查询问题
TP6模型一对多关联查询
model类关联信息
class Order extends Base { public function items() { return $this->hasMany('OrderInfo', 'order_id', 'id'); } public function userInfo() { return $this->belongsTo('User', 'uid', 'id'); } } }
关联查询 Demo
class Order extends Base { public function index() { // 获取表格请求数据 [$page, $limit, $map] = $this->buildTableParams(); /** * $map返回信息如下 * $map = [ * ['nick_name', 'like', "%张三%"], * ['order_no', '=', 'JD10003210123'] * ]; * */ // 实例化model $model = new \app\api\model\Order(); // 组装关联查询的查询条件 $where[] = $map[0][0] == 'nick_name' ? $map[0] : []; // 进行查询操作 $data = $model->hasWhere('userInfo', $where)->where($map)->where('is_del', -1)->with(['userInfo', 'items'])->page($page, $limit)->order($this->sort)->select(); return json_data($data); } }
tips:需要注意的是,关联查询条件,hasWhere方法必须先调用!

浙公网安备 33010602011771号