digitalruby / meta-data
为您的 Laravel 模型添加灵活的键/值表
1.0.0
2024-02-24 10:50 UTC
Requires
- php: ^8.0
- illuminate/support: ^10.0
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
此命令创建存储与您的模型相关的元数据的必要表。
使用方法
-
将特质添加到您的模型
首先,将
HasMetaData
特质包含到您希望关联元数据的任何 Eloquent 模型中。use DigitalRuby\MetaData\HasMetaData; class YourModel extends Model { use HasMetaData; // Model content }
-
设置元数据
要添加或更新模型的元数据,请使用
setMeta
方法。$model->setMeta('key', 'value');
key
:元数据键。value
:元数据值。可以是字符串、数组或对象。数组和对象将被自动编码为 JSON。
-
获取元数据
使用
getMeta
方法检索值。$value = $model->getMeta('key');
可选地,您可以检索与模型关联的所有元数据
$allMeta = $model->getAllMeta();
-
删除元数据
要删除元数据条目,请使用
deleteMeta
。$model->deleteMeta('key');
这将删除具有指定键的元数据条目。
-
高级使用
getMeta
方法支持通过回调函数进行额外的查询修改,允许进行更复杂的查询。
要求
- PHP 8 或更高版本
- Laravel 10 或更高版本
贡献
我们欢迎贡献!请提交有关错误修复、功能或改进的拉取请求。
许可
DigitalRuby/MetaData 包是开源软件,根据 MIT 许可证许可。