在Laravel中,我有一条路线如下:
Route::resource('/admin/products/', 'ProductsController');
因此,如果我去myapp.app:8000/admin/products/
我会得到所有产品:
public function index()
{
$products = Product::all();
return View::make('products.index', compact('products'));
}
但是,如果我去myapp.app:8000/admin/products/1
那里,我有以下几点:
public function show($id)
{
return "Hi!";
}
我收到一个错误页面:NotFoundHttpException。我做错了什么吗?
如果有帮助,我已经为相关查询附加了我的php artisan routes
输出:
+--------+---------------------------------+-------------------------+-----------------------------------------+----------------+---------------+
| Domain | URI | Name | Action | Before Filters | After Filters |
+--------+---------------------------------+-------------------------+-----------------------------------------+----------------+---------------+
| | GET|HEAD admin/users/{month?} | | AdminController@users | admin | |
| | GET|HEAD admin/products | admin.products..index | ProductsController@index | admin | |
| | GET|HEAD admin/products/create | admin.products..create | ProductsController@create | admin | |
| | POST admin/products | admin.products..store | ProductsController@store | admin | |
| | GET|HEAD admin/products/{} | admin.products..show | ProductsController@show | admin | |
| | GET|HEAD admin/products/{}/edit | admin.products..edit | ProductsController@edit
| | PUT admin/products/{} | admin.products..update | ProductsController@update | admin | |
| | PATCH admin/products/{} | | ProductsController@update | admin | |
| | DELETE admin/products/{} | admin.products..destroy | ProductsController@destroy | admin | |
看起来这与 Laravel 如何解析路由有关。将您的路线更改为:
Route::resource('admin/products', 'ProductsController');
Artisan 的输出列表应该更改为这样的内容:
GET|HEAD admin/products/{products}