digitalruby/meta-data

为您的 Laravel 模型添加灵活的键/值表

1.0.0 2024-02-24 10:50 UTC

This package is not auto-updated.

Last update: 2024-09-22 13:18:47 UTC


README

为您的 Laravel 模型添加灵活的键/值表。

为什么使用这个包?

我经常需要在我的应用程序的不同实体之间存储额外的信息。这可能是 github 链接、SEO 标题或文件的路径。

为了避免在我的多个实体上扩展数据库中的新字段,我经常回到一个简单的 键值表,它与任何实体有 多态关系

这个包为您提供该表和可以添加到您的模型中以实现此功能的 特质

安装

要安装此包,请使用 Composer

composer require digitalruby/meta-data

安装后,您应运行迁移以在您的数据库中创建 meta_data

php artisan migrate

此命令创建存储与您的模型相关的元数据的必要表。

使用方法

  1. 将特质添加到您的模型

    首先,将 HasMetaData 特质包含到您希望关联元数据的任何 Eloquent 模型中。

    use DigitalRuby\MetaData\HasMetaData;
    
    class YourModel extends Model {
        use HasMetaData;
    
        // Model content
    }
  2. 设置元数据

    要添加或更新模型的元数据,请使用 setMeta 方法。

    $model->setMeta('key', 'value');
    • key:元数据键。
    • value:元数据值。可以是字符串、数组或对象。数组和对象将被自动编码为 JSON。
  3. 获取元数据

    使用 getMeta 方法检索值。

    $value = $model->getMeta('key');

    可选地,您可以检索与模型关联的所有元数据

    $allMeta = $model->getAllMeta();
  4. 删除元数据

    要删除元数据条目,请使用 deleteMeta

    $model->deleteMeta('key');

    这将删除具有指定键的元数据条目。

  5. 高级使用

    getMeta 方法支持通过回调函数进行额外的查询修改,允许进行更复杂的查询。

要求

  • PHP 8 或更高版本
  • Laravel 10 或更高版本

贡献

我们欢迎贡献!请提交有关错误修复、功能或改进的拉取请求。

许可

DigitalRuby/MetaData 包是开源软件,根据 MIT 许可证许可。