路线中缺少必需的参数 Laravel 5.7
Missing required parameters in route Laravel 5.7
这可能有什么问题:
路线
Route::get('admin/view-news/{id}', 'AdminNewsController@show')->name('admin.view-news');
控制器
public function index()
{
$news = News::all();
return view('admin.news.news');
}
public function show($id)
{
$news = News::Find($id);
return view('admin.news.view_news')->with('news', $news);
在控制器中我也试过这个:
`return view('admin.news.view_news', ['news' => News::findOrFail($id)])`;
查看
{{ 路线 ('admin.view-news') }}
一个重要的注意事项是,对用户来说几乎相同的事情正在起作用:
路线:
Route::get('/user/{id}', 'UsersController@show');
控制器:
public function index()
{
$users = User::orderBy('name', 'asc')->paginate(30);
return view('admin.users.users')->with('users', $users);
}
public function show($id)
{
$user = User::find($id);
return view('admin.users.view_user')->with('user', $user);
}
错误是:
缺少 [路由:admin.view-新闻] [URI:admin/view-news/{id}] 的必需参数。
我在这里错过了什么,我怎么没有得到 id,而在用户控制器中我得到了几乎相同的代码?谢谢。
你应该试试这个
{{ route('admin.view-news', $id) }}
而不是
{{ route('admin.view-news') }}
这对我有用:
Route::get('admin/view-news/{id?}', 'AdminNewsController@show')->name('admin.view-news');
对于视图:
{{ route ('admin.view-news', ['id'=> $id ]) }}
我找到了更好的解决方案:
在你的 blade 文件中这样做
<a href="{{route('admin.view-news',"$id")}}">
View
</a>
使用这条路线,在路线文件中
Route::get('admin/view-news/{id}', 'AdminNewsController@show');
$id 是通过 compact
从您的控制器发送的
return view('viewPage', compact('id'));
这可能有什么问题:
路线
Route::get('admin/view-news/{id}', 'AdminNewsController@show')->name('admin.view-news');
控制器
public function index()
{
$news = News::all();
return view('admin.news.news');
}
public function show($id)
{
$news = News::Find($id);
return view('admin.news.view_news')->with('news', $news);
在控制器中我也试过这个:
`return view('admin.news.view_news', ['news' => News::findOrFail($id)])`;
查看
{{ 路线 ('admin.view-news') }}
一个重要的注意事项是,对用户来说几乎相同的事情正在起作用:
路线:
Route::get('/user/{id}', 'UsersController@show');
控制器:
public function index()
{
$users = User::orderBy('name', 'asc')->paginate(30);
return view('admin.users.users')->with('users', $users);
}
public function show($id)
{
$user = User::find($id);
return view('admin.users.view_user')->with('user', $user);
}
错误是:
缺少 [路由:admin.view-新闻] [URI:admin/view-news/{id}] 的必需参数。
我在这里错过了什么,我怎么没有得到 id,而在用户控制器中我得到了几乎相同的代码?谢谢。
你应该试试这个
{{ route('admin.view-news', $id) }}
而不是
{{ route('admin.view-news') }}
这对我有用:
Route::get('admin/view-news/{id?}', 'AdminNewsController@show')->name('admin.view-news');
对于视图:
{{ route ('admin.view-news', ['id'=> $id ]) }}
我找到了更好的解决方案: 在你的 blade 文件中这样做
<a href="{{route('admin.view-news',"$id")}}">
View
</a>
使用这条路线,在路线文件中
Route::get('admin/view-news/{id}', 'AdminNewsController@show');
$id 是通过 compact
从您的控制器发送的return view('viewPage', compact('id'));