【发布时间】:2016-08-25 08:19:16
【问题描述】:
我想要这样的 URI
http://localhost:8000/category/1/3
第一个 id 是 Category_id,第二个是 Food_id。
我的路线是:
Route::get('category/{Category_id?}/{Food_id?}', 'DetailsController@categ');
在控制器中我有:
public function categ($Category_id,$Food_id)
{
$category = Categories::with('food')->findOrFail($Category_id);
$food = Food::with('restaurant','categories')->findOrFail($Food_id);
return view('category', compact('category','food'));
}
但是它给出了错误 Missing argument 2 for App\Http\Controllers\Detailscontroller::categ()。谁能告诉问题出在哪里。我是 laravel 的新手。我想做什么是先根据 category_id 显示食物项,然后根据 food_id 显示食物的详细信息。
为了显示相关的食物类别,我认为我有
@foreach ($Category as $categories)
<a href="category/{{$categories->Category_id}}">{{$categories->CategoryName}} </a>
@endforeach
它会向我显示食物。然后我想要当我点击任何食物时,它会根据 food_id 显示详细信息。所以我的 nxt 视图看起来像:
@foreach ($category->food as $food)
<a href="category/{{$food->Category_id}}/{{$food->Food_id}}">{{ $food->FoodName }}</a>
@endforeach
【问题讨论】:
-
我也是 laravel 新手,你在路由参数中指定问号,然后控制器中的函数指定其可选的一个类别($Category_id=null,$Food_id=null)
-
这样会显示抱歉,找不到您要找的页面。
标签: php laravel laravel-5.2