我正在尝试使用laravel导航到产品页面。 URL获取一个id,该id是从用于显示产品的数据库ID中获取的。
产品控制器文件:
public function index()
{
$products = Product::all();
return view('products.index')->with('products',$products);
}
public function show($id)
{
$product = Product::find($id);
return view('products.show')->with('product',$product);
}
错误:
The requested URL /products/1 was not found on this server.
这是我要求的路线:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('HomePage');
});
Route::get('/about', function () {
return view('pages.about');
});
/*
* Login
*/
Route::get('/login', [
'as' => 'login',
'uses' => 'UserLoginController@showLogin',
]);
Route::post('/login', 'UserLoginController@postLogin');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('products','productcontroller');
答案 0 :(得分:1)
编辑:您的控制器类是否正确命名?我认为问题在那里。是的,您可以使用资源路由进行restful请求响应,但路由找不到您的控制器类。正确命名。 ProductsController什么的。再检查一遍。
你可以粘贴你的路线吗?可能存在问题。不在您的控制器中。检查文档,如果你无法弄清楚粘贴在这里。
答案 1 :(得分:1)
您没有此类/products/1
之类的路由,因此需要添加该路由并分配您需要的控制器和操作。例如
Route::get('/product/{id}', 'ProductController@show')
答案 2 :(得分:0)
href标记错误,需要与localhost中的内容完全相同,例如本地主机/ 8888 /公共