如何对模型执行删除操作


How to perform a delete operation on a Model?

来自RubyonRails的体验,您可以加载Rails控制台来删除一个用户或所有用户。我是Laravel 5的新手,我正在寻找类似的东西来删除sqlite3数据库中已经存在的用户。

我看到人们在谈论User::find(1)->delete();来删除用户,但你该把它放在哪里?是否有控制台可以在中执行删除任务?我想知道如何在不删除表的情况下删除用户。我不想软删除。

例如,您可以将此代码放在控制器中。

你可以使用

$user = User::find($id);    
$user->delete();

如果你不使用SoftDeletingTrait特征或

$user = User::find($id);    
$user->forceDelete();

若您这样做了,并且希望真正从数据库中删除用户,而不仅仅是从结果中隐藏它。

更多信息,请访问Laravel页面

在Laravel 5中,您可以使用destroy方法。

$user->destroy($id);

当然,你有一个命令行可以做到这一点

$ php artisan tinker

你可以运行例如

>> $var = new App'User;
>> $user= $user->find($id);
>> $user->destroy();

实现这一点的几种方法。

如果您的控制器将用户定义为参数:

public function destroy(User $user) 
{
    return $user->delete();
}

您也可以通过$id:删除任何用户

User::destroy ($id);

假设你用一些安全措施包裹这些路线。

编辑:更正拼写

您可以使用以下示例删除具有多个参数。。。。。。

> 
> tableName::where('field_1','=',$para1)
>               ->where('field_2,'=',$para2)
>               ->delete();

这仍然适用于laravel7,我使用tinck命令行和delete()方法:

php artisan tinker

现在我可以直接运行命令:

> App'User::find($id)->delete();