在每个用户的另一个表中创建新记录

时间:2016-03-22 07:25:38

标签: laravel laravel-5

我想在数据库的不同表中创建一个新记录(行)。 用户是在此方法中创建的

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

我想在另一个表中添加创建的用户ID。例如“地址”表。

我尝试在create方法中执行此操作,但我不知道新的用户ID! 我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

试试这个:

$user = new User();
$user->name = $data['name'];
...
$user->save();
// get new user ID with
$id = $user->id;

答案 1 :(得分:1)

试试这个:

protected function create(array $data)
{
$confirmation_code = str_random(30);
$user = User::create([
    'name' => $data['name'],
    'email' => $data['email'],
    'password' => bcrypt($data['password']),
    'confirmation_code' => $confirmation_code,
]);
Address::create([
   ... 
   'user_id' => $user->id;
]);
return $user;
}