elaborate-code/laravel-algerian-education-system

为 Laravel 应用程序提供阿尔及利亚教育系统结构的迁移和数据填充


README

Packagist Version Packagist Downloads (custom server) GitHub Workflow Status GitHub Workflow Status

banner

如果您正在构建一个学习管理系统学校管理系统并针对阿尔及利亚市场,此包非常适合通过提供根据阿尔及利亚教育系统结构的迁移和数据填充来启动您的项目。请参阅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.php2014_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 是主要的数据填充器,它会调用
    • CycleSeeder
    • ClassTypeSeeder
  • 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\CycleElaborateCode\AlgerianEducationSystem\Models\ClassType 提供了一组关系。因此,您可以使用它们或扩展它们。

  • Cycle::classTypes(): HasMany
  • ClassType::cycle(): BelongsTo
  • ClassType::previousClassType(): BelongsTo
  • ClassType::nextClassTypes(): HasMany
  • ClassType::previousLevelClassTypes(): HasMany
  • ClassType::nextLevelClassTypes(): HasMany

测试

composer test

变更日志

请参阅CHANGELOG,了解最近发生了哪些变化。

贡献

请参阅CONTRIBUTING 了解详情。

安全漏洞

请查看我们的安全策略,了解如何报告安全漏洞。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。