nowendwell/laravel-archivable

一个用于使 Eloquent 模型可存档的特性

v1.0.1 2019-04-05 16:03 UTC

This package is auto-updated.

Last update: 2024-09-06 04:32:04 UTC


README

Latest Version on Packagist Total Downloads

此包包含一个特性,用于使 Eloquent 模型可存档。这类似于 Laravel 伴随的 SoftDelete 特性。

一旦将此特性应用到模型上,你可以做以下操作

// to archive a User
$user = User::find(1);
$user->archive();

// to unarchive a User
$user = User::withArchived()->find(1);
$user->unarchive();

安装

你可以通过 composer 安装此包

composer require nowendwell/laravel-archivable

使模型可存档

要使模型可存档,将 Nowendwell\LaravelArchivable\Archivable 特性添加到希望存档的模型中

use Illuminate\Database\Eloquent\Model;
use Nowendwell\LaravelArchivable\Archivable;

class User extends Model
{
    use Archivable;
}

用法

此特性添加了一个全局查询范围,用于排除 archived_at 列中有值的任何模型。

存档

// to archive a User
$user = User::find(1);
$user->archive();

取消存档

// to unarchive a User
$user = User::withArchived()->find(1);
$user->unarchive();

检查存档状态

// to unarchive a User
$user = User::withArchived()->find(1);
var_dump( $user->archived() ); // bool true/false

查询范围

User::withArchived()->get(); // returns all users
User::withOutArchived()->get(); // returns users that are not archived, same results as User::all()
User::onlyArchived()->get() // returns only users that have a value in the archived_at column

变更日志

请参阅 变更日志 以获取更多关于最近更改的信息。

贡献

请参阅 贡献指南 获取详细信息。

安全

如果你发现任何安全相关的问题,请通过电子邮件 nowendwell@gmail.com 而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。

Laravel 包模板

此包是使用 Laravel 包模板 生成的。