当我尝试打开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">