我有一个视图,显示从数据库中取出的数据,客户端想要实际删除视图中的一些记录而实际上不得不从数据库中删除记录。我是Laravel的新手可以任何人建议我可能必须采取的方法来实现这个?
答案 0 :(得分:3)
您想使用soft deletes。这将向您的表中添加deleted_at
列,并设置记录被标记为已删除的时间戳,而不实际删除记录。在您的模式中,只需将以下内容添加到您需要软删除的任何表中:
$table->softDeletes();
您的模型还需要使用SoftDeletes
特征:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class MyModel extends Model
{
use SoftDeletes;
protected $dates = ['deleted_at'];
}
trashed
方法将显示记录是否已被删除,withTrashed
方法用于返回包含已删除记录的结果。