schenke-io / laravel-relation-manager
允许在 Laravel 中规划、记录和测试模型关系
v0.5.10
2024-03-29 10:56 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.20
- nette/php-generator: ^4.0
- spatie/laravel-data: ^3.8.1
- spatie/laravel-package-tools: ^1.16.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.14
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.5
- orchestra/testbench: ^8.21
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- pestphp/pest-plugin-type-coverage: ^2.1
- phpunit/phpunit: ^10.1
- spatie/laravel-ray: ^1.26
- dev-main
- v0.5.10
- v0.5.9
- v0.5.8
- v0.5.7
- v0.5.6
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.3
- v0.0.1
- dev-dependabot/github_actions/stefanzweifel/git-auto-commit-action-5
- dev-dependabot/github_actions/actions/checkout-4
This package is auto-updated.
Last update: 2024-09-29 11:56:54 UTC
README
开发具有许多模型的复杂 Laravel 应用程序可能很困难。 Laravel Relation Manager 通过将所有模型关系集中在一起来帮助您。它创建测试以确保它们工作,并记录它们以便于参考。这为您节省了时间,提高了代码质量,并使您的项目井然有序。
安装
您可以通过 composer 安装此包
composer require schenke-io/laravel-relation-manager
安装包的配置文件
php artisan relation-manager:install
使用方法
此包的核心功能由两个组件提供
- 配置文件:
config/relation-manager.php
文件允许您定义项目的目录、文件和命名空间。 - 自定义关系管理命令: 此命令扩展了
RelationManagerCommand
类,简化了配置过程。
在命令文件中
- 定义模型及其关系
- 决定是否要添加反向关系
- 将用于模型 $casts 数组的 BackedEnum 类添加为特殊关系
- 在模型关系定义之后
- 编写测试文件
- 运行测试文件(仅限测试文件)
- 编写文本和图形文档
- 输出表格
# app/Console/Commands/RelationWriteCommand use SchenkeIo\LaravelRelationManager\Console\RelationManagerCommand; class RelationWriteCommand extends RelationManagerCommand { public function handle(): void { $this->relationManager->model('Country') ->hasOne('Capital', true) ->hasMany('Region', true) ->castEnum('Size'); $this->relationManager->model('Region') ->hasMany('City', true); // repeat this for any model // finally $this->relationManager->writeTest(false) ->writeMarkdown() ->runTest() ->showModelTable(); } }
默认情况下,该命令通过 php artisan relation-manager:run
调用。
在 handle()
中可以使用以下方法
测试
composer test
更新日志
请参阅 更新日志 了解最近更改的详细信息。
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。