Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.12.2017 19:58:08

Помощь в правильном и грамотном создание сидов

Привет народ)
Вообщем суть проблемы вот в чем мне надо чтобы сид заполнял по два юзера на каждую категорию. Уже всю голову сломал но я не могу понять как правильно это все организовать. Такой код естесна работает но хотелось бы не говнокодить)
Сам код:

     public function run()
    {
        factory(App\Users::class, 2)->create(['Cat_id'=>'1']);
        factory(App\Users::class, 2)->create(['Cat_id'=>'2']);
        factory(App\Users::class, 2)->create(['Cat_id'=>'3']);
        factory(App\Users::class, 2)->create(['Cat_id'=>'4']);
        factory(App\Users::class, 2)->create(['Cat_id'=>'5']);
    }
}

Изменено WithoutBrain (25.12.2017 20:01:54)

Не в сети

#2 25.12.2017 21:12:35

Re: Помощь в правильном и грамотном создание сидов

Нормальный код для сида, но лучше через цикл сделать.

Не в сети

#3 26.12.2017 08:43:40

Re: Помощь в правильном и грамотном создание сидов

https://stackoverflow.com/a/29723968/272885

It is really easy to do a bulk insert in Laravel using Eloquent or the query builder.

You can use the following approach.

$data = array(
    array('user_id'=>'Coder 1', 'subject_id'=> 4096),
    array('user_id'=>'Coder 2', 'subject_id'=> 2048),
    //...
);

Model::insert($data); // Eloquent approach
DB::table('table')->insert($data); // Query Builder approach

Запросы в цикле это плохая практика. Для сидов это не создало бы проблем, но к плохому не надо привыкать.

Изменено artoodetoo (26.12.2017 08:54:52)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#4 26.12.2017 10:03:26

Re: Помощь в правильном и грамотном создание сидов

Bulk insert в сиде в тему только при вставке сотен-тысяч строк. Из-за 10 запросов городить подготовку массива в сиде как-то не разумно.

Не в сети

#5 26.12.2017 15:28:18

Re: Помощь в правильном и грамотном создание сидов

Окей всем спасибо)

Изменено WithoutBrain (26.12.2017 21:27:41)

Не в сети

Подвал раздела