Ответы пользователя по тегу Laravel
  • Как создать БД и заполнить его данными?

    sandu2d
    @sandu2d
    Человек
    Как и говорили до этого, надо использовать Seeder и уже по желанию и Faker.
    Структура там очень простая:
    database
    -factories
    -migrations
    -seeds
    --DatabaseSeeder.php

    И вот рядом с этим файлом и надо создать новый класс например:
    GroupsTableSeeder
    <?php
    
    use Illuminate\Database\Seeder;
    use App\Models\Group;
    use App\Models\Permission;
    
    class GroupsTableSeeder extends Seeder
    {
        /**
         * Run the database seeds.
         *
         * @return void
         */
        public function run()
        {
            $group = $this->seedGroup([
                'name' => 'Administrator',
            ]);
    
            $group->permissions()->sync(
                Permission::all()->pluck('id')->toArray()
            );
        }
    
        private function seedGroup(array $data)
        {
            $group = new Group([
                'name' => $data['name'],
            ]);
    
            $group->save();
    
            return $group;
        }
    }

    И в DatabaseSeeder добавить его чтоб его видел Laravel:
    DatabaseSeeder
    <?php
    
    use Illuminate\Database\Seeder;
    
    class DatabaseSeeder extends Seeder
    {
        /**
         * Run the database seeds.
         *
         * @return void
         */
        public function run()
        {
            $this->call(GroupsTableSeeder::class);
        }
    }

    И того:
    database
    -factories
    -migrations
    -seeds
    --DatabaseSeeder.php
    --GroupsTableSeeder.php
    Ответ написан
    Комментировать