Laravel删除模型自定义返回
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel删除模型自定义返回相关的知识,希望对你有一定的参考价值。
好的,所以我试图删除一个模型,然后返回一个response()->json([...])
。出于某种原因,当我删除模型时,无论我做什么,它总是返回NULL
。
以下是User
模型中用于删除给定用户的函数。
/**
* @return bool|IlluminateHttpJsonResponse|null
* Delete user
*/
public function deleteUser()
{
// If the admin deletes his own account we need to check if there is another admin. There must exists at least 1 admin
if ($this->user_id == auth()->user()->user_id && (auth()->user->hasRole('admin'))) {
if (User::whereHas('roles', function($query) { $query->where('id', 1); })->count() <= 1) {
return response()->json([
'success' => false,
'message' => 'There must be another admin if you remove your own user.'
]);
}
}
if (!$this->delete()) {
return response()->json([
'success' => false,
'message' => 'Could not delete user!'
]);
}
return response()->json([
'success' => true,
'message' => 'User was deleted successfully!'
]);
当我想要返回自定义响应时,有什么我想念的吗?
编辑这是控制器方法
public function postDelete(User $user)
{
$user->deleteUser();
}
答案
您只是在控制器方法中缺少return
:
public function postDelete(User $user)
{
return $user->deleteUser();
}
以上是关于Laravel删除模型自定义返回的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - 在 Eloquent 模型中返回自定义额外数据