雪地逃亡/eloquent-softdeletes

基于状态字段的软删除的Eloquent扩展

1.0.0 2024-07-21 12:51 UTC

This package is auto-updated.

Last update: 2024-10-01 23:21:13 UTC


README

Eloquent Status SoftDeletes 是一个 Eloquent ORM 扩展,用于通过状态字段实现软删除功能。这种方法允许您通过设置特定的状态值来标记记录为已删除,从而在数据库中轻松管理“已删除”的记录。

功能

  • 通过更新状态字段实现软删除记录。
  • 自定义状态值以指示软删除。
  • 无缝恢复软删除记录。
  • 在查询中包含或排除软删除记录。

安装

要安装此包,请使用 Composer

composer require snowrunescape/eloquent-softdeletes

用法

在您的 Eloquent 模型中使用 SoftDeletes 特性。

示例

设置您的模型

要启用模型中的基于状态的软删除,请使用 SoftDeletes 特性并定义状态字段以及指示软删除的值。

use Illuminate\Database\Eloquent\Model;
use SnowRunescape\SoftDeletes\SoftDeletes;

class YourModel extends Model
{
    use SoftDeletes;
}

软删除记录

要软删除记录,请使用 delete 方法。这将更新状态字段为已删除的状态值。

$model->delete();

恢复记录

要恢复软删除的记录,请使用 restore 方法。这将更新状态字段为非删除状态值。

$model->restore();

查询软删除记录

要包含软删除记录在查询中,请使用 withTrashed 方法。

$allRecords = YourModel::withTrashed()->get();

要仅获取软删除记录,请使用 onlyTrashed 方法。

$deletedRecords = YourModel::onlyTrashed()->get();

要排除软删除记录从查询中,请使用 withoutTrashed 方法(这是默认行为)。

$activeRecords = YourModel::withoutTrashed()->get();

贡献

欢迎贡献!请提交一个拉取请求或打开一个问题来讨论您的想法。

许可证

eloquent-softdeletes 在 MIT 许可证(MIT)下提供。请参阅许可证文件以获取更多信息。