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'] ]); } /** * @param array $param */ public function getListAll(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"); },"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"); }])->select()->toArray(); } 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['store']) && $filter[] = ["store_id", '=', $param['store']]; !empty($param['open_id']) && $filter[] = ["open_id", '=', $param['open_id']]; !empty($param['statusLt']) && $filter[] = ["status", '=', ($param['statusLt']-1)]; !empty($param['auto']) && $filter[] = ["auto", '=', ($param['auto']-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']}%"]; !empty($param['product']) && $filter[] = ["product_id", 'like', "%{$param['product']}%"]; !empty($param['name']) && $filter[] = ["product_name", 'like', "%{$param['name']}%"]; !empty($param['certificate']) && $filter[] = ["certificate_id", 'like', "%{$param['certificate']}%"]; return $filter; } }