elaborate-code / laravel-algerian-education-system
为 Laravel 应用程序提供阿尔及利亚教育系统结构的迁移和数据填充
v1.0.0
2022-08-01 20:42 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-04 18:33:43 UTC
README
如果您正在构建一个学习管理系统或学校管理系统并针对阿尔及利亚市场,此包非常适合通过提供根据阿尔及利亚教育系统结构的迁移和数据填充来启动您的项目。请参阅tables.md
安装
使用 composer 安装此包
composer require elaborate-code/laravel-algerian-education-system
发布并运行迁移
php artisan vendor:publish --tag="algerian-education-system-migrations"
php artisan migrate
您可能需要将迁移重命名为类似 2014_10_12_200000_create_cycles_table.php、2014_10_12_200000_create_class_types_table.php 的名称,以便它们可以与第一个迁移自动运行。
发布配置文件[可选]
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="algerian-education-system-config"
这是发布配置文件的内容
return [ 'cycles_table_name' => null, // defaults to cycles 'class_types_table_name' => null, // defaults to class_types ];
这允许您在运行迁移之前重命名 tables 名称。
使用方法
数据填充器
发布并运行迁移后,将数据填充器添加到要调用的数据填充器列表中
AlgerianEducationSystemSeeder是主要的数据填充器,它会调用CycleSeederClassTypeSeeder
MergePrescolaireIntoPrimaireCycleSeeder,如名称所示,它删除了pre-scolaire周期行,并将pre-scolaire课程类型修改为属于primaire周期
// Database\Seeders\DatabaseSeeder public function run() { $this->call([ ElaborateCode\AlgerianEducationSystem\Database\Seeders\AlgerianEducationSystemSeeder::class, // ElaborateCode\AlgerianEducationSystem\Database\Seeders\MergePrescolaireIntoPrimaireCycleSeeder::class, ]); }
或从命令行直接调用它
php .\artisan db:seed --class=ElaborateCode\AlgerianEducationSystem\Database\Seeders\AlgerianEducationSystemSeeder
模型
模型 ElaborateCode\AlgerianEducationSystem\Models\Cycle 和 ElaborateCode\AlgerianEducationSystem\Models\ClassType 提供了一组关系。因此,您可以使用它们或扩展它们。
Cycle::classTypes(): HasManyClassType::cycle(): BelongsToClassType::previousClassType(): BelongsToClassType::nextClassTypes(): HasManyClassType::previousLevelClassTypes(): HasManyClassType::nextLevelClassTypes(): HasMany
测试
composer test
变更日志
请参阅CHANGELOG,了解最近发生了哪些变化。
贡献
请参阅CONTRIBUTING 了解详情。
安全漏洞
请查看我们的安全策略,了解如何报告安全漏洞。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。