Что ... лол ... создать отдельный маршрут ... каждый другой путь вы attemptin g, чтобы сделать это, следует глубоко осуждать и пресекать (включая некоторые из предложенных ответов/комментариев), ИМО.
Примечание. Я также изменил «редактировать» на «добавить», основываясь на соглашении об именах используемой вами библиотеки корзины.
В routes.php оных (уведомление я назвал маршрут - лучшие практики):
Route::get('cart/add/{id}', ['as' => 'cart.add', 'uses' => '[email protected]']);
в поле зрения, называют его следующим образом:
<a href="{{ route('cart.add', [$productItem]) }}">Add</a>
В контроллере выполните следующие действия:
public function add($id)
{
$product = Product::find($id);
Cart::add($id, $product->name, 1, $product->price);
return redirect()->back();
}
PS: Bit confused on why you're calling the facade like that. In config/app.php
under aliases, add this: 'Cart' => Gloudemans\Shoppingcart\Facades\Cart::class,
.
Then in your controller, inject at the top as use Cart;
. From there, just use Cart::add($id, $product->name, 1, $product->price);
in your method.
Можете ли вы показать 'Route' вы создали для' CartController @ edit'? –
Маршрут :: ресурс ('cart', 'CartController'); – Ronald
Попробуйте следующее: ' ', хотя почему вы не будет просто назначать эту функцию маршруту и использовать '' вне меня ... –