Laravel 模型即时创建!

1.0.0 2024-09-16 10:15 UTC

This package is auto-updated.

Last update: 2024-09-16 11:26:33 UTC


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 进行改进的贡献!