laravel5 route ::资源无法注册

时间:2016-10-26 12:33:49

标签: php laravel

我有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();
}

0 个答案:

没有答案
相关问题