Laravel - 删除方法不存在

新手上路,请多包涵

我收到错误:

Macroable.php 第 74 行中的 BadMethodCallException:删除方法不存在。

路线:

 Route::resource('posts', 'PostController');

我的控制器:

 public function destroy($id)
{
    $user_id = Auth::user();
    $post= Post::where('id', $id)->where('user_id',$user_id)->get();
    $post->delete();

    return view('/home', [
        'posts' => $post
    ]);
}

看法:

   <form action="{{ route('posts.destroy', '$post->id') }}" method="post">
  <input type="hidden" name="_method" value="DELETE" />
      {{ csrf_field() }}
       {{ method_field('DELETE') }}

   <input type="submit" class="btn btn-danger" value="delete" />
  </form>

我尝试将 method="post" 更改为 delete :错误消失但没有被删除..

原文由 Mette 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 329
1 个回答

这是你的代码。

 $user_id = Auth::user();
$post= Post::where('id', $id)->where('user_id',$user_id)->get();
$post->delete();

像这样删除之前只需添加 ->each()

 $post->each->delete();

这个对我有用。

原文由 Akeel ahamed 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏