Laravel自定义寄存器表



我正在尝试使用Laravel的本机auth注册用户。登录工作正常,但是当我尝试注册新用户时,提交表单后会出现错误:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'my_db.user' doesn't exist

当然,我制作了一张名为users的桌子,我认为它更有意义,而且直到现在才遇到麻烦。

我正在使用Entrust来担任角色和权限,因此我必须将auth.php更改为:

'providers' => [
    'user' => [
        'driver' => 'eloquent',
        'model' => User::class,
    ],

,即使我做到了:

'providers' => [
    'user' => [
        'driver' => 'eloquent',
        'model' => User::class,
        'table' => users
    ],

它在user表上提交表格

首先确保您在User.php上正确创建了模型并正确链接了user表。例如protected $table = 'user';

然后确保更改RegisterController.php中的validator功能。

注意:我认为您在验证输入时会遇到错误,而不是提交数据库。因为它在添加到数据库之前检查了数据库上已经注册的用户(唯一性(。因此,请仔细检查您的email验证。