繁体   English   中英

在Laravel 5.3中注册用户时复制ID

[英]Copying an ID when registering an user in Laravel 5.3

我想在有人注册后将id的内容复制到owner_id。

$table->increments('id');
$table->integer('owner_id');

我该怎么做呢? 我试过这个,我显然希望不会这样做:

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


    ]);
}

由于$ data仅为您提供表单信息。 我现在很无能为力。 有任何想法吗?

你可以这样做:

$user = User::create([
    'name' => $data['name'],
    'email' => $data['email'],
    'password' => bcrypt($data['password']);
$user->owner_id = $user->id;
$user->save();

您需要先创建用户。 只有这样你才能使用它的ID:

$user = User::create([
    'name' => $data['name'],
    'email' => $data['email'],
    'password' => bcrypt($data['password']),
]);

$user->update(['ownder_id' => $user->id]);

首先创建用户然后通过DB::getPdo()->lastInsertId();更新ownder_id DB::getPdo()->lastInsertId(); $user->id

尝试这个,

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

    User::where('id', $user->id)
        ->update(['ownder_id' => $user->id]);
    return $user;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM