) Ich habe Methode:Übertragungsvariable URL der Methode in Laravel
public function show($id){
$categories = Category::findOrFail($id);
$productsList = Category::with(['products' => function ($query) {
$query->where(['category_id', 19]);
}])->get();
return view('categories.showcategory', compact('categories', 'productsList'));
}
Diese Methode gibt eine Liste der Produkte in der gewählten Kategorie zurückgegeben. Nummer 19 ist ausgewählte ID-Kategorie. Die URL zur Liste der Produkte in der ausgewählten Kategorie sieht so aus: www. [...] magazyn_michal/public/addcategory/Die Frage ist: Wie kann ich einen dynamischen Wert numerische ID Kategorie (19) der URL zur Methode ?? Ich versuche, diese (aber nicht):
public function show($id){
$categories = Category::findOrFail($id);
$productsList = Category::with(['products' => function ($query) {
$query->where(['category_id' => $categories->id]);
}])->get();
return view('categories.showcategory', compact('categories', 'productsList'));
}
Laravel zurückgegeben:
Undefined variable: Kategorien
auch auf diese Weise nicht funktioniert:
public function show($id){
$categories = Category::findOrFail($id);
$productsList = Category::with(['products' => function ($query) {
$query->where('category_id', Input::get('category_id'));
}])->get();
return view('categories.showcategory', compact('categories', 'productsList'));
}
Laravel kommt nichts zurück. Leere Liste der Produkte in der ausgewählten Kategorie.
routes.php Datei:
Route::get('/', '[email protected]');
Route::get('/contact', '[email protected]');
Route::resource('/addarticle', 'ArticlesController');
Route::resource('/addcategory', 'CategoriesController');
Route::resource('/listcategory', '[email protected]');
Route::resource('/warehouse', 'ProductsController');
Route::auth();
Route::get('/home', '[email protected]');
Modell category.php:
public function products(){
return $this->hasMany('App\Product');
}
Modell product.php:
public function category(){
return $this->belongsTo('App\Category');
}
ich dies mit: https://laravel.com/docs/5.2/eloquent-relationships#constraining-eager-loads
Sie benötigen eine Route zu veröffentlichen, damit wir sehen können, wie es Setup ist –
@ Rob Fonseca ich meinen Beitrag zu aktualisieren – major697
Haben Sie dd ($ Kategorien) in Ihrem Controller, um sicherzustellen, es ist eigentlich einen aus der Datenbank ziehen? Nichts scheint falsch mit Ihrer Route, Methodendefinition und ziehen Sie die Kategorie aus dem Modell, also wollen Sie sicherstellen, dass Sie tatsächlich eine Kategorie zuerst bekommen. –