php - Missing argument 2 for App\Http\Controllers\ProductController::getAddToCart() -
i have been struggling in finding solution error. tried different solutions getting same result. problem of second argument , don't know why not working?
index page:
    @extends('layouts.master')  @section('title')     laravel shopping cart @endsection  @section('content') @foreach($products->chunk(3) $productchunk) <div class="row">   @foreach($productchunk $product)     <div class="col-sm-6 col-md-4">     <div class="thumbnail">       <img src="{{$product->imgpath}}" class="img-responsive">       <div class="caption">         <h3>{{$product->title}}</h3>         <p class="description">{{$product->description}} </p>         <div class="clearfix">           <div class="price pull-left">${{$product->price}}</div>             <a href="{{route('product.addtocart', ['id'=>$product->id])}}" class="btn btn-success pull-right" role="button">add cart</a>         </div>       </div>     </div>   </div>   @endforeach </div> @endforeach @endsection   productcontroller.php
namespace app\http\controllers;  use illuminate\http\request; use app\http\requests; use app\product;  class productcontroller extends controller {     public function getindex(){         $products = product::all();         return view('shop/index',['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('product.index');     } }   route.php
    <?php  /* |-------------------------------------------------------------------------- | application routes |-------------------------------------------------------------------------- | | here can register of routes application. | it's breeze. tell laravel uris should respond | , give controller call when uri requested. | */  route::get('/', ['uses' => 'productcontroller@getindex',     'as' => 'product.index']);  route::get('add-to-cart', [     'uses' => 'productcontroller@getaddtocart',     'as' => 'product.addtocart'     ]);  route::group(['prefix' => 'user'], function(){     route::group(['middleware' => 'guest'], function(){      route::get('/signup', ['uses' => 'usercontroller@getsignup',     'as' => 'user.signup']);      route::post('/signup', ['uses' => 'usercontroller@postsignup',     'as' => 'user.signup']);      route::get('/signin', ['uses' => 'usercontroller@getsignin',     'as' => 'user.signin']);      route::post('/signin', ['uses' => 'usercontroller@postsignin',     'as' => 'user.signin']);      });      route::group(['middleware' => 'auth'], function(){         route::get('/profile', ['uses' => 'usercontroller@getprofile',         'as' => 'user.profile']);          route::get('/logout', ['uses' => 'usercontroller@getlogout',         'as' => 'user.logout']);     }); });   error log:
errorexception in productcontroller.php line 16: missing argument 2 app\http\controllers\productcontroller::getaddtocart() in productcontroller.php line 16 @ handleexceptions->handleerror('2', 'missing argument 2 app\http\controllers\productcontroller::getaddtocart()', '/home/ubuntu/workspace/app/http/controllers/productcontroller.php', '16', array('request' => object(request))) in productcontroller.php line 16 @ productcontroller->getaddtocart(object(request)) @ call_user_func_array(array(object(productcontroller), 'getaddtocart'), array(object(request))) in controller.php line 80 @ controller->callaction('getaddtocart', array(object(request))) in controllerdispatcher.php line 146 @ controllerdispatcher->call(object(productcontroller), object(route), 'getaddtocart') in controllerdispatcher.php line 94 @ controllerdispatcher->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 52 @ pipeline->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 103 @ pipeline->then(object(closure)) in controllerdispatcher.php line 96 @ controllerdispatcher->callwithinstack(object(productcontroller), object(route), object(request), 'getaddtocart') in controllerdispatcher.php line 54 @ controllerdispatcher->dispatch(object(route), object(request), 'app\http\controllers\productcontroller', 'getaddtocart') in route.php line 174 @ route->runcontroller(object(request)) in route.php line 140 @ route->run(object(request)) in router.php line 724 @ router->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 52 @ pipeline->illuminate\routing\{closure}(object(request)) in verifycsrftoken.php line 64 @ verifycsrftoken->handle(object(request), object(closure)) @ call_user_func_array(array(object(verifycsrftoken), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in shareerrorsfromsession.php line 49 @ shareerrorsfromsession->handle(object(request), object(closure)) @ call_user_func_array(array(object(shareerrorsfromsession), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in startsession.php line 64 @ startsession->handle(object(request), object(closure)) @ call_user_func_array(array(object(startsession), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in addqueuedcookiestoresponse.php line 37 @ addqueuedcookiestoresponse->handle(object(request), object(closure)) @ call_user_func_array(array(object(addqueuedcookiestoresponse), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) in encryptcookies.php line 59 @ encryptcookies->handle(object(request), object(closure)) @ call_user_func_array(array(object(encryptcookies), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 103 @ pipeline->then(object(closure)) in router.php line 726 @ router->runroutewithinstack(object(route), object(request)) in router.php line 699 @ router->dispatchtoroute(object(request)) in router.php line 675 @ router->dispatch(object(request)) in kernel.php line 246 @ kernel->illuminate\foundation\http\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 52 @ pipeline->illuminate\routing\{closure}(object(request)) in checkformaintenancemode.php line 44 @ checkformaintenancemode->handle(object(request), object(closure)) @ call_user_func_array(array(object(checkformaintenancemode), 'handle'), array(object(request), object(closure))) in pipeline.php line 136 @ pipeline->illuminate\pipeline\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 32 @ pipeline->illuminate\routing\{closure}(object(request)) @ call_user_func(object(closure), object(request)) in pipeline.php line 103 @ pipeline->then(object(closure)) in kernel.php line 132 @ kernel->sendrequestthroughrouter(object(request)) in kernel.php line 99 @ kernel->handle(object(request)) in index.php line 54      
try adding id parameter defined route
route::get('add-to-cart/{id}', [     'uses' => 'productcontroller@getaddtocart',     'as' => 'product.addtocart'  ]);      
Comments
Post a Comment