2016-05-11 3 views
0

У меня есть две таблицы - пользователи и user_attributes. Во время регистрации я хотел бы не только ввести пользователя в таблицу пользователя, но и создать его атрибуты.Laravel создать несколько таблиц пользователей

AuthController

protected function create(array $data) 
    { 
     User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
     ]); 

     return UserAttribute::create([ 
      'user_id' => $data['id'], // Undefined index: id 
      'lvl' => 0, 
      'exp' => 0, 
      'currency' => 500, 
      'premium_currency' => 5, 
     ]); 
    } 

Как получить user_id? PS: Прошу прощения за мой английский.

+3

Простейшим способом было бы сделать '$ user = User :: create ([...]). затем UserAttribute :: create (['user_id' => $ user-> id]) ;, но вы действительно должны использовать отношения «Яркие»: https://laravel.com/docs/5.2/eloquent-relationships#inserting-related- модели – Feek

+0

данные правильно добавляются в базу данных, но они показывают [ошибку] ​​(https://scr.hu/46cd/79jp6), [код] (https://scr.hu/46cd/7nbjn) – Estern

ответ

1

Сделайте это $ user = new Пользователь;
$ user-> thing1 = 12; $ user-> thing2 = 32; $ user-> save();

И теперь, как только вы назвали сохранить метод, вы можете получить идентификатор, делая

$user->id; 

Помните! Он будет работать только после вызова метода сохранения.

Также не забудьте заменить мои данные вашими данными.

Для получения дополнительной информации и объяснения см здесь: https://laravel.com/docs/5.2/eloquent#basic-inserts

удачи!

+0

данные правильно добавляются в базу данных, но он показывает ошибку [ошибка] (http://scr.hu/46cd/79jp6) [код] (http://scr.hu/46cd/7nbjn) – Estern

+0

Я могу со 100 % безопасности говорят, что это никак не связано с вашей вставкой. Это беспорядок в другом месте, я боюсь, что не могу помочь вам, не видя еще кода pf различных контроллеров и моделей :-) – Anoxy

+0

Я не возвращал $ user в конце: P – Estern

Смежные вопросы