من سایت فروشگاهی که دارم و طبق آموزش روکسو ( آموزش لاراول + پروژه فروشگاه مشابه دیجی استایل و ساخت CMS) درستش کردم الان وقتی محصول به سبد میزنیم برای اضافه شدن این ارور میاد در صورتی که درست بود و مشکلی نداشت میشه لطفا راهنماییم کنید
Too few arguments to function App\Cart::add(), 1 passed in C:\xampp\htdocs\bakery\app\Http\Controllers\Frontend\CardController.php on line 23 and exactly 2 expected
<a
class="bt-add"
data-toggle="tooltip"
title="اضافه"
href="{{route('cart.add' , $item->id)}}">
<i class="fa fa-plus"></i>
</a>
Route::get('/product-to-cart/{id}', 'CardController@AddToCart')->name('cart.add');
App/Cart.php
public function add($item, $id)
{
if($item->discount_price){
$storedItem = ['qty'=> 0,'price' => $item->discount_price, 'item' => $item];
}else{
$storedItem = ['qty'=> 0, 'price' => $item->price, 'item' => $item];
}
if($this->items){
if(array_key_exists($id, $this->items)){
$storedItem = $this->items[$id];
}
}
$storedItem['qty']++;
if($item->discount_price){
$storedItem['price'] = $item->discount_price * $storedItem['qty'];
$this->totalPrice += $item->discount_price;
$this->totalDiscountPrice += ($item->price - $item->discount_price);
}else{
$storedItem['price'] = $item->price * $storedItem['qty'];
$this->totalPrice += $item->price;
}
$this->items[$id] = $storedItem;
$this->totalQty++;
$this->totalPurePrice += $item->price;
}
class CardController extends Controller
{
public function AddToCart(Request $request, $id){
$product = Product::findOrFail($id);
$oldCart = Session::has('cart') ? Session::get('cart') : null;
$cart = new Cart($oldCart);
$cart->add($product->id);
$request->session()->put('cart' , $cart);
return back();
}
{
کدهای route ی که برای اضافه شدن محصول به سبد خرید اجرا میشه و کلاسی که متدهای سبد خریدتون توش هست و ارورتون رو به درستی ضمیمه پرسشتون کنین که بتونم دقیق راهنماییتون کنم خیلی از کدهایی که گذاشتین نامفهوم هستند و نمیشه فهمید مشکل کجاست لطفا اگه میتونین کدها رو مرتب تر ارسال کنید.
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.