%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/hr/api/database/seeds/
Upload File :
Create Path :
Current File : /var/www/html/hr/api/database/seeds/ProjectsTableSeeder.php

<?php

use App\Models\Client;
use App\Models\Project;
use App\Models\Role;
use App\Models\User;
use Carbon\Carbon;
use Faker\Generator as Faker;
use Illuminate\Database\Seeder;

class ProjectsTableSeeder extends Seeder
{
    /**
     * @var Faker
     */
    private $faker;

    /**
     * ProjectsTableSeeder constructor.
     * @param Faker $faker
     */
    public function __construct(Faker $faker)
    {

        $this->faker = $faker;
    }

    /**
     * Run the database seeds.
     *
     * @return void
     * @throws Throwable
     */
    public function run()
    {
        for ($i = 0; $i < 50; $i++) {
            $start = Carbon::parse($this->faker->date('Y-m-d', Carbon::now()->subYear()))->setYear(2020);
            Project::createItem([
                'code'       => $this->faker->slug,
                'name'       => $this->faker->name,
                'start_date' => $start,
                'end_date'   => Carbon::parse($start)
                                      ->addDays($this->faker->numberBetween(0, 180)),
                'estimation' => $this->faker->numberBetween(100, 1000),
                'price'      => $this->faker->numberBetween(10, 25),
                'currency'   => Project::EURO,
                'notes'      => $this->faker->paragraph,
                'manager_id' => User::query()
                                    ->whereHas('roles', function ($q) {
                                        $q->where('name', Role::MANAGER);
                                    })
                                    ->orderByRaw('RAND()')
                                    ->first()->id,
                'client_id'  => Client::query()
                                      ->orderByRaw('RAND()')
                                      ->first()->id,
            ]);
        }
    }
}

Zerion Mini Shell 1.0