@kkoshakk

Генерация Slug через модель?

<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use App\Models\Location;
use Illuminate\Support\Str;

class DatabaseSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
                Model::unguard();

        // $this->call('UserTableSeeder');
        $this->call('LocationsSeeder');
    }

}

class LocationsSeeder extends Seeder {

    public function run()
    {
        $items = [
                    ['name' => 'Винницкая обл.', 'parent_id' => '0'],
                    ['name' => 'Волынская обл.', 'parent_id' => '0'],
                    ['name' => 'Днепропетровская обл.', 'parent_id' => '0'],
                    ['name' => 'Донецкая обл.', 'parent_id' => '0'],
                    ['name' => 'Житомирская обл.', 'parent_id' => '0'],
                    ['name' => 'Закарпатская обл.', 'parent_id' => '0'],
                    ['name' => 'Запорожская обл.', 'parent_id' => '0'],
                    ['name' => 'Ивано-Франковская обл.', 'parent_id' => '0'],
                    ['name' => 'Киевская обл.', 'parent_id' => '0'],
                    ['name' => 'Кировоградская обл.', 'parent_id' => '0'],
                    ['name' => 'Луганская обл.', 'parent_id' => '0'],
                    ['name' => 'Львовская обл.', 'parent_id' => '0'],
                    ['name' => 'Николаевская обл.', 'parent_id' => '0'],
                    ['name' => 'Одесская обл.', 'parent_id' => '0'],
                    ['name' => 'Полтавская обл.', 'parent_id' => '0'],
                    ['name' => 'Ровненская обл.', 'parent_id' => '0'],
                    ['name' => 'Сумская обл.', 'parent_id' => '0'],
                    ['name' => 'Тернопольская обл.', 'parent_id' => '0'],
                    ['name' => 'Харьковская обл.', 'parent_id' => '0'],
                    ['name' => 'Херсонская обл.', 'parent_id' => '0'],
                    ['name' => 'Хмельницкая обл.', 'parent_id' => '0'],
                    ['name' => 'Черкасская обл.', 'parent_id' => '0'],
                    ['name' => 'Черниговская обл.', 'parent_id' => '0'],
                    ['name' => 'Черновицкая обл.', 'parent_id' => '0'],
        ];
          
    foreach ($items as $item)
    {
        Location::create($item);
    }
    }
    
    public static function boot()
    {
        parent::boot();
        
        static::saving(function($model) {
                    $model->slug = str_slug($model->name);
            
            return true;
        });
    }        

}

Не получаются слаги(((
  • Вопрос задан
  • 288 просмотров
Пригласить эксперта
Ответы на вопрос 1
soprun
@soprun
Software Architecture
Настоятельно рекомендую, интересную и понятную документацию по Database: Seeding
Так же стоит обратить внимание на Model Factories и Eloquent events
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы