我有2个登录页面:首先是教师,但是第二个注册表是登录教师,并注册学生。从这两个注册中,我将注册用户推送到数据库的“用户”表中。
对于教师注册,我有:
Route::resource('users', 'UsersController', ['only' => ['create', 'store']]);
但对于已登录教师注册的用户,我有:
Route::get('/addstudents', ['as' => 'addstudents', 'uses' => 'UserTypes\TeacherController@add_students']);
Route::resource('users', 'StudentsController', ['only' => ['create', 'store']]);
我在'用户'中遇到了问题。要使用注册表单,我必须从其他注册表单中删除“用户”。为什么呢?
这是来自控制器的商店功能:
StudentsController.php:
public function store(Request $request)
{
$data = $request->only('nume', 'prenume', 'email', 'password', 'type', 'clasa_cifra', 'clasa_litera', 'username');
$data['password'] = bcrypt($data['password']);
$data['type'] = 3;
$data['clasa_cifra'] = \Auth::user()->clasa_cifra;
$data['clasa_litera'] = \Auth::user()->clasa_litera;
$data['username'] = $data['prenume'][0].$data['nume'];
$user = User::create($data);
$elev = new Elevi();
$elev->nume = $request['nume'];
$elev->prenume = $request['prenume'];
$elev->id_clasa = Clasa::where('cifra', \Auth::user()->clasa_cifra)
->where('litera', \Auth::user()->clasa_litera)
->select('id_clasa')
->value('id_clasa');
$elev->save();
if($user){
return redirect()->route('addstudents');
}
}
UsersController.php:
public function store(Request $request)
{
$data = $request->only('username', 'email', 'password', 'type', 'clasa_cifra', 'clasa_litera', 'nume', 'prenume');
$data['password'] = bcrypt($data['password']);
$user = User::create($data);
$clasa = new Clasa();
$clasa->cifra = $data['clasa_cifra'];
$clasa->litera = $data['clasa_litera'];
$clasa->save();
$profesor = new Profesori();
$profesor->nume = $data['nume'];
$profesor->prenume = $data['prenume'];
$profesor-> save();
if($user){
\Auth::login($user);
return redirect()->route('home');
}
return back()->withInput();
}