这可能是什么问题:
路线
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);
}
错误是:
缺少[Route:admin.view-news] [URI:admin / view-news / {id}]所需的参数。
我在这里想念的是什么,我怎么没有获取ID,并且在用户控制器中我用几乎相同的代码来做?谢谢。
答案 0 :(得分:0)
您应该尝试这个
{{ route('admin.view-news', $id) }}
代替
{{ route('admin.view-news') }}
答案 1 :(得分:0)
这对我有用:
Route::get('admin/view-news/{id?}', 'AdminNewsController@show')->name('admin.view-news');
视图:
{{ route ('admin.view-news', ['id'=> $id ]) }}