public function getLists(array $map=[],int $listRows=15){
$data = $this->alias('a')
->join('member b','a.pid = b.mid','LEFT')
->join('customer c','a.cid = c.cid','LEft')
->field('a.id,a.order_id,a.subject,a.cid,a.pid')
->field('a.team,a.level,a.price,a.end_time,a.status')
->field('b.username,b.avatar,b.mobile,c.customer,c.contact,c.mobile,c.qq')
->where($map)
->order('id','desc')
->paginate($listRows);
$member = new Member();
foreach ($data->items() as $item=>$value){
$data->items()[$item]['team'] = $member->where('mid','in',$value['team'])
->field('username,avatar,mobile')
->select();
}
return $data;
}客户表 customer用户表 member
求查询合并 更好的优化建议,如果这样写感觉有点low,而且是api数据返回的
最佳答案