您好,我试图删除用户,但是此功能无法正常工作:
public function deleteUser()
{
$user = User::find($id);
$user ->delete();
return redirect('empresa');
}
错误:未定义的变量:id
答案 0 :(得分:1)
希望这有助于或回答您的问题。试试这个;
public function deleteUser($id)
{
User::find($id)->delete();
return redirect('empresa');
}
答案 1 :(得分:1)
只是为了帮助您了解Nigel和Deepak在说什么:
deleteUser()必须接受一个名为$ id
的参数。 deleteUser($id) { ... }
因此,当您调用deleteUser()时,请确保传递您的id(参数)值:
deleteUser(17);
希望能帮助您了解他们在说什么。
答案 2 :(得分:0)
您首先必须找到要删除它们的用户:
$user = User::find($id);
然后,您将可以调用delete方法:
$user->delete();
您可能希望考虑处理该用户可能为空的可能性。有几种方法可以做到这一点:
delete
之前检查用户是否为空findOrFail
方法选项2将抛出一个ModelNotFoundException
,您可以将其配置为在全局范围内处理此应用,并返回404页面或您想要的任何内容。
选项1:
public function deleteUser($id)
{
$user = User::find($id);
if (null !== $user) {
$user->delete();
}
return redirect('empress');
}
选项2:
public function deleteUser($id)
{
$user = User::findOrFail($id);
$user->delete();
return redirect('empress');
}
请注意,在选项2上,我们不需要进行空检查,因为如果使用findOrFail
找不到用户,则会引发异常。