user()->products, 9, $request->page ?? 1); return view('club.pages.favorites.products', compact('models')); } /** * Display a listing of the resource. */ public function indexRecipes(Request $request): View { $models = CollectionHelper::paginateManually(auth('club')->user()->recipes, 9, $request->page ?? 1); return view('club.pages.favorites.recipes', compact('models')); } /** * Update favorites models for a specific club customer. */ public function update(UpdateFavoriteRequest $request): JsonResponse { $customer = Customer::query()->where('id', $request->validated()['customer'])->first(); $currentFavorites = $customer->{$request->validated()['class']}->pluck('id'); /** @var int $newFavorites */ $newFavorites = $request->validated()['model']; ($currentFavorites->contains($newFavorites)) ? $customer->{$request->validated()['class']}()->detach($newFavorites) : $customer->{$request->validated()['class']}()->attach($newFavorites); return response()->json([ 'status' => 'OK', 'data' => $customer->{$request->validated()['class']}()->get()->pluck('id'), ]); } }