Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго времени суток.
Есть следующий вопрос. Стандартный auth-controller функция создания пользователя:
Необходимо сделать запись в таблицу привилегий с соответствующим user_id при регистрации нового пользователя. Как я это вижу:
protected function create(array $data)
{
Administration::create([
'user_id'=>'???',
'department_id'=>'0',
'group_id'=>'0',
'ruller_group_id'=>'0',
'roll_id'=>'0'
]);
return User::create([
'first_name' => $data['first_name'],
'sur_name' => $data['sur_name'],
'second_name' => $data['second_name'],
'phone' =>$data['phone'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
Так вот вопрос, как элегантно получить id пользователя для записи в таблицу administration и что возвращает функция User::create?
Не в сети
Проблема решена.
Вот готовый код решения:
protected function create(array $data)
{
$User = User::create([
'first_name' => $data['first_name'],
'sur_name' => $data['sur_name'],
'second_name' => $data['second_name'],
'phone' =>$data['phone'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
Administration::create([
'user_id'=>$User->id,
'department_id'=>'0',
'group_id'=>'0',
'ruller_group_id'=>'0',
'roll_id'=>'0'
]);
return $User;
}
Не в сети
Для обеспечения целостности данных нужно это делать в одной транзакции. Есть вероятность что первый запрос пройдёт а на втором скажем крашнеться сервер баз данных или ещё какая беда произойдёт.
Не в сети
Страницы 1