Search code examples
laravelmultilingual

Missing required parameters for [Route: getFirstProduct] [URI: {language}/products/{product1}]


i am trying to make my website multilingual.... but my code in routes is giving some problem this is my code route is :

Route::redirect('/', '/en');

Route::group(['prefix' => '{language}'], function () {


Route::group([ 'middleware' => ['web']], function(){
    Route::get('/', function () {
      return view('home');
    })->name('home');

  Route::get('/{url}',  [
    'uses' => 'niceActionController@getPages',
    'as' => 'getURL'
  ]);

  
 Auth::routes(['verify' => true]);



/**********Product Pages Route******************/

Route::get('products/{product1}' , [
  'uses' => 'niceActionController@getFirstProductPage',
  'as'=> 'getFirstProduct'
]);


Route::get('/products/qrcodes/basic-step1' , [
  'uses' => 'niceActionController@getDynamicDropDpwn',
  'as'=> 'basic-product-form'
]);

Route::post('/products/qrcodes/basic-step1/fetch', 'niceActionController@fetchDynamicDropdown')->name('niceActionController.fetchDynamicDropdown');

Route::get('niceActionController/dropzoneStore', 'niceActionController@dropzoneStore')->name('niceActionController.dropzoneStore');

Route::get('products/{product2}' , [
// 'middleware' => 'auth',
  'uses' => 'niceActionController@getSecondProductPage',
  'as'=> 'getSecondProduct'
]);


Route::get('products/{product3}' , [
// 'middleware' => 'auth',
  'uses' => 'niceActionController@getThirdProductPage',
  'as'=> 'getThirdProduct'
]);



/**********Product Pages Route******************/


Route::get('products/qrcodes/product1/qrcode', ['as' => 'QR', 'uses' => 'niceActionController@generateQR']);




});/*End Web Middleware*/
});

Missing required parameters for [Route: getFirstProduct] [URI: {language}/products/{product1}]. (View: C:\xampp\htdocs\final-project\resources\views\home.blade.php)

showing this error how should i resolve this..


Solution

  • replace

    'products/{product1}'
    

    with

    '/products/{product1}'
    

    Due to the fact that there is no slash in the beginning, your router sees it as 'enproducts/{product1}'.

    to verify this, enter the php artisan route:list and see what URLs you have