Axios不会从数据库中删除数据-Empyt数组Vuejs和Laravel

时间:2019-06-06 21:50:40

标签: database laravel vue.js

我的代码有问题。我的axios删除请求没有从数据库中删除数据。我得到响应200,但仅此而已。

组件

    deleteComment(index){
      axios.delete(this.uri + this.comments[index].id)
      .catch(error=>{
        console.log(error)
      });
    }

控制器

  public function destroy(BlogComments $cid){

    $comments->delete();

    return response()->json([
      'comments'=> $id,
      'Message'=> "OK!"
    ]);

  }

控制台->网络

Request URL: http://127.0.0.1:8000/api/blog-comments/4
Request Method: DELETE
Status Code: 200 OK
Remote Address: 127.0.0.1:8000
Referrer Policy: no-referrer-when-downgrade

当我创建响应表单控制器时,我只有空数组

comments[]

更新

我修复了。

我替换了

Route::resources('/blog-comments', 'DashboardBlogCommentsController');

通过

Route::delete('/blog-comments/{id}', 'DashboardBlogCommentsController@destroy');

为什么资源不起作用?我在其他页面中使用了相同的方法,并且有效

Route::resource('/advantages', 'DashboardAdvantagesController');
  public function destroy(HomepageAdvantages $advantage){


  $advantage->delete();
  return response()->json([
    'advantage'=>$advantage,
    'message'=> 'task created'
  ]);


  }

1 个答案:

答案 0 :(得分:1)

也许是答案:

  

为什么资源不起作用?

路线

这可能是您编辑中的错字,而不是您的代码中的错字,但不是resources

Route::resources('/blog-comments', 'DashboardBlogCommentsController');

resource

Route::resource('/blog-comments', 'DashboardBlogCommentsController');

并基于问题更新之前的代码:

控制器 DashboardBlogCommentsController

public function destroy(BlogComments $comment){ 
    // use delete() on the variable where you assigned the object
    $comment->delete();

    return response()->json([ 
        // 'comments'=> $id, this no needed, the comment doesn't exist anymore
        'message' => 'OK!' ], 202);
}

希望有帮助