Laravel 5.3 对 Auth 实现进行了更改。对我来说,这种方式解决了它:
首先,在数据库中提供一个满足用于识别的标准的公司表。因此,它需要名称、电子邮件、密码和 Remember_token 列。详情可查here.
在 config/auth.php 中将用户模型更改为您的公司类。
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Company::class,
],
在扩展 Auth 的 App 文件夹中创建一个 Company 类,因此使用:
use Illuminate\Foundation\Auth\User as Authenticatable;
在 Company 类中,定义可填写字段和隐藏字段。
class Company extends Authenticatable {
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
}
在 RegisterController.php 中将“use App\User”更改为
use App\Company;
调整create and 验证器RegisterController.php 中的 Company::create 函数
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',
]);
}
'电子邮件' => '必需|电子邮件|最大:255|唯一:公司'
(公司模型的表名称将为公司)
希望这可以帮助!