@kkoshakk

Некорректное добавление данных в базу через сидер?

<?php

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

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()
{
Location::create([
'name' => 'Винницкая обл.', 'parent_id' => '0', 'slug' => Slug::make('Винницкая обл.'),
'name' => 'Волынская обл.', 'parent_id' => '0', 'slug' => Slug::make('Волынская обл.'),
'name' => 'Днепропетровская обл.', 'parent_id' => '0', 'slug' => Slug::make('Днепропетровская обл.'),
'name' => 'Донецкая обл.', 'parent_id' => '0', 'slug' => Slug::make('Донецкая обл.'),
'name' => 'Житомирская обл.', 'parent_id' => '0', 'slug' => Slug::make('Житомирская обл.'),
'name' => 'Закарпатская обл.', 'parent_id' => '0', 'slug' => Slug::make('Закарпатская обл.'),
'name' => 'Запорожская обл.', 'parent_id' => '0', 'slug' => Slug::make('Запорожская обл.'),
'name' => 'Ивано-Франковская обл.', 'parent_id' => '0', 'slug' => Slug::make('Ивано-Франковская обл.'),
'name' => 'Киевская обл.', 'parent_id' => '0', 'slug' => Slug::make('Киевская обл.'),
'name' => 'Кировоградская обл.', 'parent_id' => '0', 'slug' => Slug::make('Кировоградская обл.'),
'name' => 'Луганская обл.', 'parent_id' => '0', 'slug' => Slug::make('Луганская обл.'),
'name' => 'Львовская обл.', 'parent_id' => '0', 'slug' => Slug::make('Львовская обл.'),
'name' => 'Николаевская обл.', 'parent_id' => '0', 'slug' => Slug::make('Николаевская обл.'),
'name' => 'Одесская обл.', 'parent_id' => '0', 'slug' => Slug::make('Одесская обл.'),
'name' => 'Полтавская обл.', 'parent_id' => '0', 'slug' => Slug::make('Полтавская обл.'),
'name' => 'Ровненская обл.', 'parent_id' => '0', 'slug' => Slug::make('Ровненская обл.'),
'name' => 'Сумская обл.', 'parent_id' => '0', 'slug' => Slug::make('Сумская обл.'),
'name' => 'Тернопольская обл.', 'parent_id' => '0', 'slug' => Slug::make('Тернопольская обл.'),
'name' => 'Харьковская обл.', 'parent_id' => '0', 'slug' => Slug::make('Харьковская обл.'),
'name' => 'Херсонская обл.', 'parent_id' => '0', 'slug' => Slug::make('Херсонская обл.'),
'name' => 'Хмельницкая обл.', 'parent_id' => '0', 'slug' => Slug::make('Хмельницкая обл.'),
'name' => 'Черкасская обл.', 'parent_id' => '0', 'slug' => Slug::make('Черкасская обл.'),
'name' => 'Черниговская обл.', 'parent_id' => '0', 'slug' => Slug::make('Черниговская обл.'),
'name' => 'Черновицкая обл.', 'parent_id' => '0', 'slug' => Slug::make('Черновицкая обл.'),
]);
}

}

При попытке добавить в базу, добавляется только последняя строка ( 'name' => 'Черновицкая обл.', 'parent_id' => '0', 'slug' => Slug::make('Черновицкая обл.'),)
Где я ошибся
  • Вопрос задан
  • 336 просмотров
Пригласить эксперта
Ответы на вопрос 2
zvermafia
@zvermafia
WebDev
$items = [	
	['name' => 'Винницкая обл.',		 'parent_id' => '0', 'slug' => Slug::make('Винницкая обл.')],
	['name' => 'Волынская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Волынская обл.')],
	['name' => 'Днепропетровская обл.',	 'parent_id' => '0', 'slug' => Slug::make('Днепропетровская обл.')],
	['name' => 'Донецкая обл.',			 'parent_id' => '0', 'slug' => Slug::make('Донецкая обл.')],
	['name' => 'Житомирская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Житомирская обл.')],
	['name' => 'Закарпатская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Закарпатская обл.')],
	['name' => 'Запорожская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Запорожская обл.')],
	['name' => 'Ивано-Франковская обл.', 'parent_id' => '0', 'slug' => Slug::make('Ивано-Франковская обл.')],
	['name' => 'Киевская обл.',			 'parent_id' => '0', 'slug' => Slug::make('Киевская обл.')],
	['name' => 'Кировоградская обл.',	 'parent_id' => '0', 'slug' => Slug::make('Кировоградская обл.')],
	['name' => 'Луганская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Луганская обл.')],
	['name' => 'Львовская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Львовская обл.')],
	['name' => 'Николаевская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Николаевская обл.')],
	['name' => 'Одесская обл.',			 'parent_id' => '0', 'slug' => Slug::make('Одесская обл.')],
	['name' => 'Полтавская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Полтавская обл.')],
	['name' => 'Ровненская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Ровненская обл.')],
	['name' => 'Сумская обл.',			 'parent_id' => '0', 'slug' => Slug::make('Сумская обл.')],
	['name' => 'Тернопольская обл.',	 'parent_id' => '0', 'slug' => Slug::make('Тернопольская обл.')],
	['name' => 'Харьковская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Харьковская обл.')],
	['name' => 'Херсонская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Херсонская обл.')],
	['name' => 'Хмельницкая обл.',		 'parent_id' => '0', 'slug' => Slug::make('Хмельницкая обл.')],
	['name' => 'Черкасская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Черкасская обл.')],
	['name' => 'Черниговская обл.',		 'parent_id' => '0', 'slug' => Slug::make('Черниговская обл.')],
	['name' => 'Черновицкая обл.',		 'parent_id' => '0', 'slug' => Slug::make('Черновицкая обл.')],
];

foreach ($items as $item)
{
	Location::create($item);
}
Ответ написан
Комментировать
DieZz
@DieZz
Вы создаете только одну модель Location, а надо создать несколько моделей. Надо делать вот так, или подобным образом:
Location::create([
    'name' => 'Винницкая обл.', 
    'parent_id' => '0', 
    'slug' => Slug::make('Винницкая обл.')
]);
Location::create([
    'name' => 'Волынская обл.', 
    'parent_id' => '0', 
    'slug' => Slug::make('Волынская обл.')
]);
...

Location::create([
    'name' => 'Черновицкая обл.', 
    'parent_id' => '0', 
    'slug' => Slug::make('Черновицкая обл.')
]);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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