Laravel 5.3已在验证实现更改。对我而言,这样解决了这个问题:
首先,在数据库中提供一个公司表格,该表格满足用于识别的标准。因此,它需要一个名称,电子邮件,密码和remember_token栏。详情可以在here找到。
在config/auth.php中将用户模型更改为您的公司类。
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Company::class,
],
创建用于扩展验证的应用程序文件夹中的公司类,所以要用:
use Illuminate\Foundation\Auth\User as Authenticatable;
在公司类,定义可填写和隐藏字段。
class Company extends Authenticatable {
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
}
在RegisterController.php变化 “使用App \用户”
use App\Company;
调整创建和验证功能在RegisterController.php与公司::创建
protected function create(array $data)
{
return Company::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:companies',
'password' => 'required|min:6|confirmed',
]);
}
'email'=>'required | email | max:255 | unique:公司'
(公司模型的表名将是公司)
希望这有助于!
删除默认的用户表,并创建一个自定义的,不会那么辛苦了。 –
@Iftikharuddin请参阅我的编辑请 –