Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
peripherad
/
back
/
.git
/
objects
/
b2
:
ProjectSeeder.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare(strict_types=1); namespace Database\Seeders; use App\Domain\Project\Enums\ProjectStatusEnum; use App\Domain\Project\Requests\CreateProjectGroupRequest; use App\Domain\Project\Requests\CreateProjectRequest; use App\Domain\Project\Services\ProjectGroupService; use App\Domain\Project\Services\ProjectService; use App\Enums\ModelsEnum; use Illuminate\Database\Seeder; class ProjectSeeder extends Seeder { /** * Run the database seeds. */ public function run(): void { //Group seed /** @var ProjectGroupService $groupService */ $groupService = app()->make(ProjectGroupService::class); $groups = []; foreach (ModelsEnum::cases() as $case) { for ($i = 0; $i < 10; $i++) { $group = $groupService->create($case->value, new CreateProjectGroupRequest([ 'name' => 'Группа проектов ' . $case->value . '-' . ($i + 1) . '-' . $case->value ])); $groups[$case->value][] = $group->id; } } /** @var ProjectService $ProjectService */ $ProjectService = app()->make(ProjectService::class); foreach (ModelsEnum::cases() as $case) { for ($i = 0; $i < 10; $i++) { $ProjectService->create($case->value, new CreateProjectRequest([ 'project_group_id' => fake()->randomElement(array_merge($groups[$case->value], [null])), 'status' => fake()->randomElement([ ProjectStatusEnum::PROJECT_STATUS_ACTIVE->value, ProjectStatusEnum::PROJECT_STATUS_FINISHED->value, ]), 'offer_number' => 'Договор № ' . random_int(1000, 9999) . ' от ' . fake()->date('Y/m/d'), 'object_address' => fake()->address(), 'short_description' => 'Короткое описание для ' . $case->value . '-' . ($i + 1) . '-' . $case->value, 'description' => 'Длинное описание для ' . $case->value . '-' . ($i + 1) . '-' . $case->value, ])); } } } }