php - 模型 [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(); }) },
任何帮助将不胜感激......提前致谢。
解决方案
$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);
}
推荐阅读
- maven - 通过 ci-pipeline 发布声纳报告后对 sonarQube 的覆盖率为零
- debugging - 用gdb调试armcc编译的elf
- python - 循环遍历多个文件夹并将表格数据提取到数据框中并将路径保存到数据框中
- javascript - 为什么不显示更新的变量值?
- javascript - 根据本机反应中的项目数量的文本输入
- python - 如何更改每个 plotly scatterpolar 类别的 theta 范围
- c - 如何从 C 中的 STDIN 中删除字符(^\)、ctrl + \(SIGQUIT)
- javascript - 用于显示/隐藏 div 的 jQuery SetTimeout 不起作用
- angular - 将 Angular 动画应用于生成的树节点
- angular - 在 Angular 12 (Karma 6.3.4) 中更新网络工作者的初始化语法后无法运行测试