smurfworks/laravel-model-meta

动态配置和捕获严格类型的Laravel模型元数据作为流畅属性

v0.0.4 2024-01-06 04:01 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

"Laravel Model Meta" 允许您捕获模型严格类型的字段值,而无需更改数据库模式。

是什么使得这个包与其他可用的元数据包不同?以下是一个组合

  • 快速实施,影响小:无论您要存储多少个模型的元数据,该包都只会创建一个元数据表,并使用多态关系。
  • 可查询数据:此包不使用JSON来序列化模型的元数据,而是根据配置的元键存储类型将元值存储在单独的数据库字段中,允许使用基于类型的运算符和索引进行数据库查询。
  • 严格类型和内容管理:可用的元键存储在其自己的数据库表中,可以通过命令行、迁移或您自己的自定义GUI轻松配置。
  • 减少查询负载:可用的元字段使用从可用的元键表创建的索引进行缓存,在更改后 - 没有不必要的数据库查询和模式列列表查询。
  • 与您的项目流程兼容:使用标准的Laravel播种命令导入元键的播种助手,这对于项目设置或保持迁移短暂非常有用。否则,您可以通过命令行手动注册模型键。
  • 随行:根据您的领域需求,将元值从一种类型转换为另一种类型,或将其移动到新的模式字段。
  • 数据库驱动程序无关:该包允许您禁用某些元值类型,如果您的数据库驱动程序不支持它们,或者您不想在模式中包含它们,则不会在运行迁移时创建列。

节省您的时间,您应该知道,为了使用此包,具有元数据值的模型的键必须是增量型 - 目前不支持UUID关系。要解决这个问题,您可以修改迁移并创建自己的类。

安装

有关如何安装包的更多信息,请参阅 INSTALL

使用

有关如何使用包的更多信息,请参阅 USAGE

配置

有关如何配置包的更多信息,请参阅 CONFIGURATION

高级详情

有关一些关键设计决策和实施细节的更多信息,请参阅 ADVANCED

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献和安全漏洞

有关详细信息,请参阅 CONTRIBUTING

许可

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