如何通过使用定义的数据配置路由来使auth()的不同页面注册页面

时间:2019-01-28 14:57:42

标签: php laravel artisan laravel-authorization laravel-authentication

当我尝试打开Studentregister页面时,它会打开auth()的默认注册页面。

我是Laravel的新手,语法有问题... 我只制作了一个与角色类链接的User类。 (用户类通过$ php artisan auth生成,并添加了Role类的外键。)

现在,我想通过studentRegister.blade.php或TeacherRegister.blade.php注册不同的用户,例如学生,老师。而且我必须将学生页面中的role_id固定为1并将教师角色ID的固定为2。那么语法是什么。

为学生注册和教师注册(web.php)创建了不同的途径。

Route::get('student/register','Auth\RegisterController@registerStudent');
Route::get('teacher/register','Auth\RegisterController@registerTeacher');

添加了角色变量并将其发送给视图(Auth / RegisterController.php)

  public function registerStudent()
  { $role_id = 1;
   return view('auth.register',compact('role_id'));
   }

  public function registerTeacher()
  { $role_id = 2;
   return view('auth.register',compact('role_id'));
   }

具有“角色”名称(Auth / Register.Blade.php)的隐藏输入的设置值;

<input id="role" type="hidden" name="role" value="{{$role}}">

在user.php中更改可填充变量,以便您可以填充角色字段。

protected $fillable = [ 'name', 'email', 'password',role ];

将角色添加到RegisterController上的create函数

**(Auth/RegisterController.php)**.
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'role' => $data['role'],
        'password' => Hash::make($data['password']),
    ]);
}

在StudentRegister.blade.php中,我已添加了此

<input id="role_id" type="hidden" name="role_id" value="1">

在TeacherRegister.blade.php中,我已经添加了此

<input id="role_id" type="hidden" name="role_id" value="2">

0 个答案:

没有答案