Php Laravel 5.4:创建和#x27;配置文件类实例';创建新用户后

Php Laravel 5.4:创建和#x27;配置文件类实例';创建新用户后,php,laravel,laravel-5.4,laravel-artisan,Php,Laravel,Laravel 5.4,Laravel Artisan,在Laravel 5.4中,他们对用户身份验证系统进行了硬编码,因此,当您使用artisan命令“make:auth”时,所有内容都将在后台为您创建,但问题是,当我的用户成功注册时,我希望创建一个新的“Profile Class”实例,并使表列为空,直到用户填写其配置文件,那么,在哪里可以放置创建用户配置文件的代码呢?在注册表控制器中您可以覆盖已注册功能 此函数在用户成功注册后直接调用 /** * The user has been registered. * * @param \Ill

在Laravel 5.4中,他们对用户身份验证系统进行了硬编码,因此,当您使用artisan命令“make:auth”时,所有内容都将在后台为您创建,但问题是,当我的用户成功注册时,我希望创建一个新的“Profile Class”实例,并使表列为空,直到用户填写其配置文件,那么,在哪里可以放置创建用户配置文件的代码呢?

注册表控制器中
您可以覆盖
已注册
功能

此函数在用户成功注册后直接调用

/**
 * The user has been registered.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
protected function registered(Request $request, $user)
{
    // Create a profile here
}
或者,您也可以直接在用户模型上使用模型事件来执行此操作


RegisterController
中,您可以覆盖
registered
功能

此函数在用户成功注册后直接调用

/**
 * The user has been registered.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
protected function registered(Request $request, $user)
{
    // Create a profile here
}
或者,您也可以直接在用户模型上使用模型事件来执行此操作


create()
方法上的
app\Http\Controllers\Auth\RegisterController.php
中,创建新用户后,可以执行以下操作:

use App\Profile;              // <-- Import this at the top

protected function create(array $data)
     {
         $user = User::create([    // <-- change this as you see fit
             'name' => $data['name'],
             'email' => $data['email'],
             'password' => bcrypt($data['password']),
         ]);

         Profile::create(['user_id' => $user->id]);

         return $user;
     }
使用App\Profile;//$数据['email'],
'password'=>bcrypt($data['password']),
]);
Profile::create(['user\u id'=>$user->id]);
返回$user;
}

app\Http\Controllers\Auth\RegisterController.php的
create()
方法中创建新用户后,可以执行以下操作:

use App\Profile;              // <-- Import this at the top

protected function create(array $data)
     {
         $user = User::create([    // <-- change this as you see fit
             'name' => $data['name'],
             'email' => $data['email'],
             'password' => bcrypt($data['password']),
         ]);

         Profile::create(['user_id' => $user->id]);

         return $user;
     }
使用App\Profile;//$数据['email'],
'password'=>bcrypt($data['password']),
]);
Profile::create(['user\u id'=>$user->id]);
返回$user;
}

谢谢@Nicklas的回答,我将测试它,然后将其标记为答案。谢谢@Nicklas的回答,我将测试它,然后将其标记为答案。