Я новичок в Laravel и пытаюсь создать функцию добавления в корзину. Но я получаю эту ошибку, когда нажимаю на иконку / кнопку «Добавить в корзину», которую я установил.
Too few arguments to function App\Http\Controllers\ProductController::getAddToCart(), 1 passed and exactly 2 expected
Я видел много похожих вопросов, но большинствоответы выглядят сложными и не похожи на мои вопросы. Опять же, я новичок в Laravel и мне нужна простейшая форма объяснения. Ниже приведены мой ProductController и коды маршрутов
ProductController:
<?php
namespace App\Http\Controllers;
use App\Cart;
use App\Product;
use Illuminate\Http\Request;
use App\Http\Requests;
use Session;
class ProductController extends Controller
{
public function getProducts()
{
$products = Product::all();
return view('shop', ['products' => $products]);
}
public function getAddToCart(Request $request, $id)
{
$product = Product::find($id);
$oldCart = Session::has('cart') ? Session::get('cart') : null;
$cart = new Cart($oldCart);
$cart->add($product, $product->id);
$request->session()->put('cart', $cart);
dd($request->session()->get('cart'));
return redirect()->route('shop');
}
}
маршрут для добавления в корзину:
Route::get('/add-to-cart', ['uses' => 'ProductController@getAddToCart', 'as' => 'product.addToCart']);
P / S:Я использую Laravel 6