brand->questions); } /** * Display all specified resources. * * @param \App\Models\Service $service * @return \Illuminate\Http\Resources\Json\JsonResource */ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassAfterLastUsed public function indexWithResponse(Service $service, Customer $customer): ResourceCollection { $this->authorize('customerBelongsToService', $customer); $customerAnswers = Answer::whereHas('customers', function ($q) use ($customer) { $q->whereId($customer->id); })->get(); $customerAnswers = Answer::whereHas('customers', function ($q) use ($customer) { $q->whereId($customer->id); })->whereHas('question', function ($q) use ($service) { $q->whereHas('brand', function ($q) use ($service) { $q->whereId($service->brand->id); }); })->get(); return new QuestionsResource($service->brand->questions, $customerAnswers); } /** * Display all specified resource by customer. * * @param \App\Models\Service $service * @param \App\Models\Customer $customer * @return \Illuminate\Http\Resources\Json\JsonResource */ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassAfterLastUsed public function unAnsweredBy(Service $service, Customer $customer): JsonResource { $this->authorize('customerBelongsToService', $customer); $questions = Question::whereHas('brand', function ($q) use ($service) { $q->where('id', $service->brand->id); })->whereDoesntHave('answers', function ($q) use ($customer) { $q->whereIn('id', Answer::whereHas('customers', function ($q) use ($customer) { $q->where('id', $customer->id); })->pluck('id')); })->with('answers')->get(); return new QuestionsResource($questions); } }