mode = new SaasOrder(); return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){ $query->field("out_id,product_name,product_img,product_price"); },"store" => function($query){ $query->field("store_id,store_name,service_at_start,service_at_end"); },"agent" => function ($query) { $query->field("agent_id,name"); },"parent" => function ($query) { $query->field("order_id,status,pay_amount,order_amount,count"); }])->paginate([ "list_rows" => $param['pageSize'], "page" => $param['page'] ]); } public function getDataListMini(array $param = []) { $this->mode = new SaasOrder(); return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){ $query->field("out_id,product_name,product_img,product_price"); }])->paginate([ "list_rows" => $param['size'], "page" => $param['page'] ]); } protected function searchFilter(array $param = []): array { $filter = []; !empty($param['agent']) && $filter[] = ["agent_id", '=', $param['agent']]; !empty($param['open_id']) && $filter[] = ["open_id", '=', $param['open_id']]; !empty($param['statusLt']) && $filter[] = ["status", '=', ($param['statusLt']-1)]; !empty($param['status']) && $filter[] = ["status", '=', $param['status']]; !empty($param['ex_status']) && $filter[] = ["express_status", '=', ($param['ex_status']-1)]; !empty($param['orderid']) && $filter[] = ["order_id", 'like', "%{$param['orderid']}%"]; !empty($param['ordersn']) && $filter[] = ["order_sn", 'like', "%{$param['ordersn']}%"]; return $filter; } }