如何对模型执行删除操作?

How to perform a delete operation on a Model?

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

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

您可以将此代码放入控制器中。

您可以使用

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

如果您不使用 SoftDeletingTrait 特征或

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

如果你这样做了,并且你真的想从数据库中删除用户,而不仅仅是从结果中隐藏它。

您可以在 Laravel page

阅读更多内容

在Laravel 5中可以使用销毁方法。

$user->destroy($id);

而且,当然,您可以使用命令行来执行此操作。

$ php artisan tinker

你可以 运行 例如

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

You can use bellow example to delete data with multiple parameters......

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

有几种方法可以做到这一点。

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

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

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

User::destroy ($id);

假设您以一定的安全性包装这些路由。

编辑:更正拼写

这仍然适用于 laravel 7,我使用 tinker 命令行和 delete() 方法:

php artisan tinker

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

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