/
ExFuseMe
/
shaurmacity
Обзор
Документация
Войти
/
ExFuseMe
/
shaurmacity
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
app/Http/Controllers/CartController.php
56 строк
1 KB
ExFuseMe
finish price buttons
13 окт 2024, 22:00
13 окт 2024, 22:00
c6e9547
Код
Авторство
О чём код?
<?php namespace App\Http\Controllers; use App\Events\changeCartPriceEvent; use App\Http\Requests\CartUpdateRequest; use App\Models\Cart; use App\Models\Dish; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; class CartController extends Controller { /** * Display the specified resource. */ public function show() { $dishes = auth()->user()->cart->dishes() ->get() ->groupBy('name'); return view('cart', compact('dishes')); } /** * Update the specified resource in storage. */ public function update(CartUpdateRequest $request) { $user = Auth::user(); if ($user) { $user->cart()->first()->addToCart(Dish::find($request->validated()['dish_id'])); event(new changeCartPriceEvent($user->cart()->first())); return response()->json(['data' => $user->cart()->first()->dishes()->pluck('price')->sum()]); } return redirect()->route('login'); } public function decrease(Dish $dish) { $user = Auth::user(); $cart = $user->cart()->first(); $cartDish = DB::table('carts_dishes') ->where('cart_id', $cart->id) ->where('dish_id', $dish->id) ->first(); if ($cartDish) { DB::table('carts_dishes')->where('id', $cartDish->id)->delete(); } return response()->json(['data' => $cart->dishes()->pluck('price')->sum()]); } }