m1guelpf/eloquent-immutable

使用 Laravel Eloquent 强制表格不可变性

dev-master 2018-10-31 10:56 UTC

This package is auto-updated.

Last update: 2024-09-17 05:10:24 UTC


README

Latest Version on Packagist Total Downloads

安装

您可以通过 composer 安装此包

composer require m1guelpf/eloquent-immutable

用法

要将模型设置为不可变,首先需要将不可变特性添加到它

use Illuminate\Database\Eloquent\Model;
use M1guelpf\EloquentImmutable\Immutable;

class YourModel extends Model {
    use Immutable;

    //
}

您可以选择通过在数据库中存储模型属性的哈希值来启用额外的安全层。为此,在迁移中添加一个字段,然后在模型中切换此功能

// database/migrations/2014_10_12_000000_create_your_table.php
Schema::create('your_table', function (Blueprint $table) {
    $table->string('hash');

    //
});

// app/YourModel.php
class YourModel extends Model {
    $immutableCheck = true;

    //
}

当检索模型时,我们将自动检查哈希值是否匹配。

限制

由于 Laravel 的限制,我们无法挂钩到大量更新或大量删除。

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

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

鸣谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件