我想对两个不同的表使用laravel 5.3身份验证。 如何使用laravel身份验证?
我已经设置了auth.php文件,并添加了警卫, 创建新模型,并迁移必要的文件。
我复制了控制器,并更新了命名空间,并指定了路由。 并且,是的,我能够访问该路线,到那个特定的控制器..
但是,当我注册时,它会转到用户表。 为什么以及如何将其设置为正确的表格? 我以为警卫会做这项工作。
而且, 如果我们使用默认的laravel身份验证,我们无法设置路由? 我的意思是,我能够访问它,并在路由上更改它,但是当寄存器发布时,它会返回到默认路由。 我想知道是否有任何方法可以覆盖它......
非常感谢
答案 0 :(得分:3)
正确的表是什么意思。你应该在寄存器控制器中编辑你需要的表名 例如: -
$company= Company::create([
'companyname' =>($data['companyname']),
'Address1' =>($data['Address1']),
'Address2' =>($data['Address2']),
'telephone' =>($data['telephone']),
]);
答案 1 :(得分:1)
我也是新手,但尝试更改Register controller
中的表格@Autowired
将“用户”替换为您要输入数据的内容..
据我了解auth.php ... 在那里我们使用模型(表)登录..
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'user_type'=>$data['user_type'],
]);
尝试一下...... 对不起,如果我错了..
答案 2 :(得分:1)
但是,当我注册时,它会转到用户表。为什么以及如何将其设置为 正确的表?
假设您正在使用自动生成的身份验证控制器,视图和路由。
导航到app/Http/Controllers/Auth/RegisterController.php
将using YourModelName
添加到顶部,然后将以下功能更改为您自己的模型。
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
如果我们使用默认的laravel身份验证,我们无法设置路由?
如果你的意思是在注册后重定向,你也可以在RegisterController
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
关于Auth路线。它们会自动由/routes/web.php
Auth::routes();
您可以通过删除此项并将其替换为所需的Auth路线
来更改此设置答案 3 :(得分:0)
在auth.php中,这是定义它将使用用户模型的位置。你可以改变她的模特
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],