webman如何让全部的model都走use softdelete
时间: 2024-03-12 09:43:20 浏览: 308
要让所有的model都使用软删除(soft delete)功能,可以在 Laravel 中定义全局的软删除(soft delete)trait。具体步骤如下:
1. 创建一个全局的软删除(soft delete)trait文件。在 app 文件夹下创建一个名为 SoftDeletesGlobal.php 的文件,内容如下:
```
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
trait SoftDeletesGlobal
{
use SoftDeletes;
protected static function bootSoftDeletesGlobal()
{
static::bootSoftDeletes();
}
}
```
2. 在 app 文件夹下的任何 model 文件里都使用刚刚创建的 SoftDeletesGlobal trait。例如,我们在 app 文件夹下的 User model 文件里使用 SoftDeletesGlobal trait。在 User model 文件中加入以下代码:
```
use App\SoftDeletesGlobal;
class User extends Model
{
use SoftDeletesGlobal;
// ...
}
```
这样,所有的 model 都会使用软删除(soft delete)功能,包括 User model。如果需要在某个 model 中关闭软删除(soft delete)功能,可以在该 model 中定义 $dates 属性为空数组,例如:
```
class SomeModel extends Model
{
protected $dates = [];
// ...
}
```
这样,该 model 就不会使用软删除(soft delete)功能了。
阅读全文