@Tarasovych

Добавление начальных данных с миграциями?

Испольузю php artisan db:seed
User::create(array(
            'name' => 'admin',
            'email' => 'admin@admin.com',
            'password' => bcrypt('adminadmin'),
        ));

Role::create(array(
            'name' => 'superadmin',
            'display_name' => 'superadmin',
            'description' => 'superadmin',
        ));

В БД есть таблица role_user, которая связывает роль и пользователя (поля role_id и user_id). Как после INSERT'a связать пользователя и роль?
Я так полагаю, нужно получить id последней записи в таблицу users и roles, а потом эти id внести в таблицу role_user?
$user = User::create(array(
            'name' => 'admin',
            'email' => 'admin@admin.com',
            'password' => bcrypt('adminadmin'),
        ));

$user_id = $user->id;
...
аналогично с ролью
...
$user_id = 'user_id' => 'data';
$role_id = 'role_id' => 'data';
DB::table('role_user')->insert($data);

п. с.
spoiler
Есть аналог var_dump для консоли?
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 2
zvermafia
@zvermafia
WebDev
Вам просто надо почитать раздел Eloquent: Relationships: Many To Many, Attaching / Detaching.
Ответ написан
Комментировать
@Tarasovych Автор вопроса
Ребята выше молодцы, но вот как я сделал:
$user = User::create(array(...));

$superadmin = Role::create(array(...));

$user->attachRole($superadmin);

$permission = [...]; // массив с "разрешениями"

foreach ($permission as $key => $value) {
            Permission::create($value)->roles()->attach($superadmin->id);
}

И работает
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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