在一个用户表

时间:2016-05-17 11:52:40

标签: php laravel laravel-5.2

我使用了laravel 5.2默认用户注册和登录表单。我的要求是创建两种类型的用户。它不是一种用户和管理员。但是它在网站user1和user2中的两种类型的用户在注册表单中有不同的字段。所以我已经复制了register.blad.php并在authcontroller中创建了一个函数。为了区分数据库中的两个表单值,我使用了一个名为user_type的字段。 user_type是两个注册表单中的隐藏字段。这是我的auth控制器

   protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'user_type'=> $data['user_type'],
            'password' => bcrypt($data['password']),
        ]);
    }
/* custom function for user type */

    public function getRecruiter(){

        return view('auth.recruiter');
    }

    public function postRecruiter(Request $request){

               $this->validate($request, [
                'name' => 'required|max:255',
                'email' => 'required|email|unique:users',
                'password'=> 'required|min:6',
                'company'=>'required',
                'location'=>'required',
                'url'=>'required'
            ]);

           $user = User::create([
            'name' => $request->name,
            'email' => $request->email,
            'user_type'=> $request->user_type, // user_type for second user type.
            'password' => bcrypt($request->password),
           ]);

           return view('home');

    }

每件事情都运行正常但是user_type,remember_token没有保存在数据库中。

最后是。注册后我不知道如何登录用户。像默认功能。如果我使用 Auth :: login($ user),则会出错。

  

未找到App \ Http \ Controllers \ Auth \ auth。

请帮我解决这个问题,因为我不想创建任何其他表格。因为很多人都喜欢有两个表,但我想用一个具有不同用户类型的表来解决它。

1 个答案:

答案 0 :(得分:1)

我找到了不在数据库中保存价值的解决方案。我忘了在protected fillable中添加我的变量名。


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

但现在另一点是注册后自动登录用户,因为Auth :: login无效。

编辑: 我也解决了Auth问题.. 我忘了在控制器中添加使用Auth。

愚蠢的错误