Когда я пытаюсь открыть страницу Studentregister, она открывает страницу регистрации по умолчанию auth ().
Я новичок в Laravel. У меня проблемы с синтаксисами ... Я создал только один класс User, имеющийсвязь с ролевым классом.(Пользовательский класс создается с помощью $ php artisan auth, и к нему добавляется внешний ключ для класса Role.)
Теперь я хочу зарегистрировать различных пользователей, таких как ученик, учитель, через studentRegister.blade.php или teacherRegister.blade.PHP.И я должен исправить role_id на странице ученика как 1 и в идентификаторе роли учителя как 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'));
}
установил значение скрытого ввода с именем "role" (Auth / Register.Blade.php);
<input id="role" type="hidden" name="role" value="{{$role}}">
изменить заполняемую переменную в user.php, чтобы вы могли заполнить поле роли.
protected $fillable = [ 'name', 'email', 'password',role ];
добавили роль в функцию создания в RegisterController
**(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">