input('insured_id'); $name = $request->input('name'); $phone = $request->input('phone'); $network_id = $request->input('network_id'); $q = NhInsurance::with(['user:id,firstname,lastname,phone,email', 'network:id,name', 'beneficiaries'])->where('network_id', $network_id); if (!empty($insured_id)) { $q = $q->where('insured_id', $insured_id); } if (!empty($name)) { $q = $q->whereHas('user', function ($query) use ($name) { return $query->where('lastname', 'like', '%' . $name . '%')->orWhere('firstname', 'like', '%' . $name . '%'); }); } if (!empty($phone)) { $q = $q->whereHas('user', function ($query) use ($phone) { return $query->where('phone', 'like', '%' . $phone . '%'); }); } $insured = $q->get(); return $this->successResponse($insured); } }