smurfworks / laravel-model-meta
动态配置和捕获严格类型的Laravel模型元数据作为流畅属性
v0.0.4
2024-01-06 04:01 UTC
Requires
- php: ^8.1
- haydenpierce/class-finder: ^0.5.3
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
This package is auto-updated.
Last update: 2024-09-08 05:32:06 UTC
README
"Laravel Model Meta" 允许您捕获模型严格类型的字段值,而无需更改数据库模式。
是什么使得这个包与其他可用的元数据包不同?以下是一个组合
- 快速实施,影响小:无论您要存储多少个模型的元数据,该包都只会创建一个元数据表,并使用多态关系。
- 可查询数据:此包不使用JSON来序列化模型的元数据,而是根据配置的元键存储类型将元值存储在单独的数据库字段中,允许使用基于类型的运算符和索引进行数据库查询。
- 严格类型和内容管理:可用的元键存储在其自己的数据库表中,可以通过命令行、迁移或您自己的自定义GUI轻松配置。
- 减少查询负载:可用的元字段使用从可用的元键表创建的索引进行缓存,在更改后 - 没有不必要的数据库查询和模式列列表查询。
- 与您的项目流程兼容:使用标准的Laravel播种命令导入元键的播种助手,这对于项目设置或保持迁移短暂非常有用。否则,您可以通过命令行手动注册模型键。
- 随行:根据您的领域需求,将元值从一种类型转换为另一种类型,或将其移动到新的模式字段。
- 数据库驱动程序无关:该包允许您禁用某些元值类型,如果您的数据库驱动程序不支持它们,或者您不想在模式中包含它们,则不会在运行迁移时创建列。
节省您的时间,您应该知道,为了使用此包,具有元数据值的模型的键必须是增量型 - 目前不支持UUID关系。要解决这个问题,您可以修改迁移并创建自己的类。
安装
有关如何安装包的更多信息,请参阅 INSTALL。
使用
有关如何使用包的更多信息,请参阅 USAGE。
配置
有关如何配置包的更多信息,请参阅 CONFIGURATION。
高级详情
有关一些关键设计决策和实施细节的更多信息,请参阅 ADVANCED。
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献和安全漏洞
有关详细信息,请参阅 CONTRIBUTING。
许可
MIT许可(MIT)。有关更多信息,请参阅 许可文件。