aurorawebsoftwareteam / flymodel
Laravel 模型即时创建!
1.0.0
2024-09-16 10:15 UTC
Requires
- php: ^8.2
- aurorawebsoftware/flexyfield: ^1.4.3
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
README
FlyModel 是一个 Laravel 扩展包,让您能够即时创建和管理模型。
它允许定义灵活和可定制的模型和模型字段,而无需更改数据库模式。
此包通过消除在代码库中显式定义模型的需求来简化您的工作流程。相反,您可以根据唯一的“牌组”标识符生成和交互模型。
该包使用 FlexyField 扩展包作为动态字段引擎。
更多信息请访问:https://github.com/AuroraWebSoftware/FlexyField
🚀 特性
- 动态模型创建:使用指定的“牌组”标识符实例化模型,无需预先定义。
- 动态字段:在模型上定义灵活和可定制的字段,而无需更改数据库模式。
- 自动作用域:模型根据牌组自动作用域,确保数据隔离。
- 无缝集成:与 Laravel 的 Eloquent ORM 无缝协作。
📦 安装
要开始使用 FlyModel,请按照以下步骤操作
安装包
使用 Composer 将 FlyModel 添加到您的项目中
composer require aurorawebsoftware/flymodel
运行迁移
创建存储飞模型的必要数据库表
php artisan migrate
📘 使用方法
创建和使用飞模型
使用 FlyModel,您可以动态创建模型并执行各种操作。以下是方法
使用牌组实例化模型
$building = FlyModel::of('building');
如果尚未保存或创建,则保存模型
$building->save();
执行字段操作
$building->flexy->name = 'Headquarter Building' $building->flexy->address = 'Ali Pasha Ave. number 10'; $building->flexy->city = 'İstanbul'; $building->flexy->floor = 7; $building->flexy->area = 313; $building->flexy->active = true; $building->save();
执行 Eloquent 操作
$buildings = FlyModel::of('building')->all(); $istanbulBuildings = FlyModel::of('building') ->where('flexy_city', 'İstanbul') ->get(); $largeBuildings = FlyModel::of('building') ->where('flexy_area', '>' 500) ->orderBy('flexy_area') ->get(); $highBuildingsInIstanbul = FlyModel::of('building') ->where('flexy_floor', '>' 10) ->where('flexy_city', 'İstanbul') ->get();
🧪 测试
FlyModel 集成了 Laravel 的测试环境。以下是如何为它编写测试的示例
💬 贡献
我们欢迎对 FlyModel 进行改进的贡献!