首页 > 解决方案 > 模型 [App\UserModel] 0 [ Laravel ] 没有查询结果

问题描述

尝试删除表中的用户时出错。

我的路线(api.php)

     Route::delete('/users/{id}', 'UsersController@destroy');

我的控制器

    公共函数销毁($id)
    {
        $user = UserModel::findOrFail($id);
        $用户->删除();
        返回新用户集合($user);
    }

我的 Vue.js

        删除(ID){
            让 $this = this;
            axios.delete(`/api/users/${id}`).then(function(response) {
                $this.fetchUser();
            })
        },

任何帮助将不胜感激......提前致谢。

标签: phplaravelvue.js

解决方案


$user = UserModel::findOrFail($id); //retrieving use, dont use findorfail here because it will thrown 404 error page
$user->delete(); // you delete the user
return new UsersCollection($user); // it means $user now is an empty collection therefore you get an error

我相信在您删除用户后,您应该只返回确定成功与否的代码

return response()->json([
'code' => 200,
'message' => "you've successfully delete"
);

或者如果您想传递已删除用户的数据详细信息,您可以这样做

public function destroy($id)
{
    $user = UserModel::find($id);
    if(!is_null($user)){
        return response()->json([
             'code' => 404,
             'message' => 'Not found',
        ]);
    };
    $old_user = $user;
    $user->delete();
    return new UsersCollection($old_user);
}

推荐阅读