request = $request; $this->account = $request->user('company'); $this->orderCardPartitionRepository = $orderCardPartitionRepository; } /** * 订单列表 */ public function index() { $conditions = $this->request->all(); $conditions['company_id'] = $this->account->company_id; $conditions['type'] = [0, 1]; $limit = $conditions['limit'] ?? 20; $cards = $this->orderCardPartitionRepository->selectRaw('distinct on (sim) sim')->withConditions($conditions)->paginate($limit); $services = $this->orderCardPartitionRepository->select('MIN(service_start_at),MAX(service_end_at)') ->withConditions(['sim' => $cards->pluck('sim')->toArray()])->groupBy('sim')->get(); $time = Carbon::now()->format('Y-m-d H:i:s'); $packages = $this->orderCardPartitionRepository->selectRaw('distinct on (sim) package_id') ->where('service_start_at', '<=', $time); } }