Dér*_*cha 0 laravel laravel-5.5
我正在尝试创建一个博客,但我不断收到此错误。
BadMethodCallException 方法更新不存在。
我正在尝试编辑帖子并更新数据库。
public function update(Request $request, Post $post)
{
$posts = Post::Find($post);
$posts->update($request->all());
}
Run Code Online (Sandbox Code Playgroud)
您已经通过该方法接受了 Post 对象
而是做这样的事情
public function update(Request $request, Post $post)
{
$posts = Post::Find($post);
$posts->update($request->all());
}
Run Code Online (Sandbox Code Playgroud)
像这样做
public function update(Request $request, Post $post)
{
// you already have the Post object injected from the framework for you.
// you can use the instance freely.
$post->update($request->all());
}
Run Code Online (Sandbox Code Playgroud)
当然,检查 $post 对象是否为空可能是一件好事,但如果数据库中没有任何匹配项,laravel 将抛出ModelNotFoundException。
这就是所谓的路由模型绑定,如果您将设置保留为默认值,就像使用主键“id”一样,laravel 5.5 会为您做这件事。您可以在此https://laravel.com/docs/5.5/routing#route-model-binding上阅读有关此内容的更多信息
归档时间: |
|
查看次数: |
4613 次 |
最近记录: |