@kkoshakk

Реализация на сайте выпадающего списка областей страны?

Делаю сайт на Laravel, хочу реализовать добавление пользователем места проживания, что бы был выпадающий список областей, создал таблицу миграций и добавил ее в базу MySQL :

public function up()
{
Schema::create('regions', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
$table->string('slug')->unique();
$table->timestamps();
});
}

создал RegionsTableSeeder.php вот такого содержания:

public function run()
{
DB::table('regions')->delete();

DB::table('regions')->insert(array(
array('name' => 'Автономная Республика Крым', 'slug' => Slug::make('Автономная Республика Крым'),
array('name' => 'Винницкая область', 'slug' => Slug::make('Винницкая область'),
array('name' => 'Волынская область', 'slug' => Slug::make('Волынская область'),
array('name' => 'Днепропетровская область', 'slug' => Slug::make('Днепропетровская область'),
array('name' => 'Донецкая область', 'slug' => Slug::make('Донецкая область'),
array('name' => 'Житомирская область', 'slug' => Slug::make('Житомирская область'),
array('name' => 'Закарпатская область', 'slug' => Slug::make('Закарпатская область'),
array('name' => 'Запорожская область', 'slug' => Slug::make('Запорожская область'),
array('name' => 'Ивано-Франковская область', 'slug' => Slug::make('Ивано-Франковская область'),
array('name' => 'Киевская область', 'slug' => Slug::make('Киевская область'),
array('name' => 'Киев', 'slug' => Slug::make('Киев'),
array('name' => 'Кировоградская область', 'slug' => Slug::make('Кировоградская область'),
array('name' => 'Луганская область', 'slug' => Slug::make('Луганская область'),
array('name' => 'Львовская область', 'slug' => Slug::make('Львовская область'),
array('name' => 'Николаевская область', 'slug' => Slug::make('Николаевская область'),
array('name' => 'Одесская область', 'slug' => Slug::make('Одесская область'),
array('name' => 'Полтавская область', 'slug' => Slug::make('Полтавская область'),
array('name' => 'Ровненская область', 'slug' => Slug::make('Ровненская область'),
array('name' => 'Севастополь', 'slug' => Slug::make('Севастополь'),
array('name' => 'Сумская область', 'slug' => Slug::make('Сумская область'),
array('name' => 'Тернопольская область', 'slug' => Slug::make('Тернопольская область'),
array('name' => 'Харьковская область', 'slug' => Slug::make('Харьковская область'),
array('name' => 'Херсонская область', 'slug' => Slug::make('Херсонская область'),
array('name' => 'Хмельницкая область', 'slug' => Slug::make('Хмельницкая область'),
array('name' => 'Черкасская область', 'slug' => Slug::make('Черкасская область'),
array('name' => 'Черниговская область', 'slug' => Slug::make('Черниговская область'),
array('name' => 'Черновицкая область', 'slug' => Slug::make('Черновицкая область'),
}
}

А как теперь дальше? Я так понял, нужно добавить эти области в MySQL, но я не совсем понял как, через DatabaseSeeder.php? Так он, вроде используется для тестовых данных?
  • Вопрос задан
  • 915 просмотров
Решения вопроса 1
AmdY
@AmdY
PHP и прочие вебштучки
Нужно запускать миграции с сидингом
php artisan migrate --seed
Ну и стоит использовать модели, а не DB::table
Создайте модель \App\Region в ней добавьте сеттер setSlugAttribute($value) { $this->attributes['slug'] = \Slug::make($value); }
И затем \App::Regoin::create(['name' => 'name1', 'slug' => 'slug1']);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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