PHP Версия: 7.2 Laravel Версия: 6.2 Я делаю простой проект laravel по статье. Когда я встречаюсь с действием redirect () ->, я немного растерялся по этому поводу. Я хочу передать переменную с именем id через redirect () -> action, но она не работает. В сообщении об ошибке отсутствуют обязательные параметры для [Route: blog / post.show] [URI: blog / post / {post}]. Если я удалю имя переменной, передам только значение переменной, и оно будет работать. Я прочитал руководство, но все еще не мог понять причину. Не могли бы вы помочь мне объяснить логи c. Спасибо. Ниже приведен пример кода.
Маршрутизатор. php
Route::group(['prefix' => 'blog',
'as' => 'blog/',
'namespace' => 'Blog'],
function(){
Route::resource('/post',"PostController");
});
PostController. php
Создать новую запись в блоге (неправильно) Не могу понять, почему это не работает? Имя переменной ($ id) совпадает.
public function store(Request $request)
{
$post = new BlogPost;
$post->title = $title;
$post->content = $content;
$post->save();
return redirect()->action(
'Blog\PostController@show', ['id' => $post->id]
);
}
Создать новое сообщение в блоге (правильно)
public function store(Request $request)
{
$post = new BlogPost;
$post->title = $title;
$post->content = $content;
$post->save();
return redirect()->action(
'Blog\PostController@show', [$post->id]
);
//Or 'Blog\PostController@show', $post->id
}
Показать новое сообщение в блоге
public function show($id)
{
$post = BlogPost::find($id);
if(! $post) {
abort(404);
}
$content = $post->content;
return view("blog.post", [
"title" => $post->title,
"content" => $content,
]);
}
Спасибо вы