Bonjour,
Voila je rencontre un petit problème avec mon code. Sur laravel 5.3 j'ai mis en place une route pour acceder à un produit (site catalogue)
La route :
Route::get('/catalogue/{category-parent}/{category-child}/{id}-{slug}/', ['as' => "produit", 'uses' => 'productCtrl@show'])
->where('category-parent', "[a-zA-Z\-]+")->where('category-child', "[a-zA-Z\-]+")->where('id', "[0-9]+")->where('slug', "[a-zA-Z\-]+");
et voici l'url d'accès :
http://domaine.fr/catalogue/category/subcat/2-produit-test
Et j'obtiens l'erreur
NotFoundHttpException in RouteCollection.php line 161:
Au niveau de mon ctrl, rien d'exceptionnel pour le moment,
public function show($category, $category_child, $id, $slug = null)
{
$product = Product::findOrFail($id);
return view('site.catalogue.product', compact('product'));
}
J'imagine que le pb doit être tout con, mais j'ai beau regarder mon code x fois, je le vois, un oeil externe le verra peut être du premier coups..
merci de votre aide
Salut,
Tu as vérifié que tous les arguments soient bien définis ? Ton controller s'appelle bien 'productCtrl' et non 'productController' par ex. ? Tu n'aurais pas oublié un 's' au mot 'product' ?
PS: tu peux passer un tableau associatif en argument de la méthode where()
, c'est plus propre (https://laravel.com/docs/5.3/routing#parameters-regular-expression-constraints) ;)
Bonjour
merci de ta réponse !
Je viens de controler mes arguments! en effet dans l'url je faisait passer {category-parent}/{category-child} et dans le controller je récupéré category et category_child ;
du coups j'ai fais correspondre les deux et mtn ça marche !
et merci pour l'astuce du tableau en where c'est vrai que c'est plus propre !
merci de ton aide !