Laravel 5.2 auth изменить таблицу "пользователи"

я использовал новую функцию в Laravel:

 php artisan make:auth

но когда я зарегистрируюсь, он будет использовать таблицу базы данных users по умолчанию, но я хочу изменить это в другой таблице. И по умолчанию он использует updated_at и created_at в этой таблице, я хочу, чтобы удалить это.

Auth / AuthController

protected function create(array $data)
{
    return User::create([
        'voornaam' => $data['voornaam'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

appUser

protected $fillable = [
    'voornaam', 'email', 'password',
];

это то, что, как я думал, изменит его, но они этого не сделали. Надеюсь, кто-нибудь сможет. расскажите мне об этом подробнее.

4 ответов


изменить имя таблицы, перейдите к app/User.php и задайте для свойства $table к пользовательскому, например:

$table = 'new_table';

вы также должны изменить миграцию по умолчанию. Перейти к:, и users здесь для того же имени. Чтобы удалить метки времени, вы можете удалить строку:

$table->timestamps();

однако на вашем месте я бы пересмотрел удаление этих временных меток


НЕ ЗАБУДЬТЕ ИЗМЕНИТЬ ПРОВЕРКУ В REGISTERCONTOLLER.PHP ТАКЖЕ.

С

'email' => 'required|email|max:255|unique:users',

to

'email' => 'required|email|max:255|unique:company',

по умолчанию модель принимает свое имя класса как имя таблицы !
Я определяю защищенное свойство в верхней части App/User.php

protected $table = 'auth_users';

Это говорит laravel использовать auth_users таблица вместо default user таблица. и это работает как шарм.


Регистрация Laravel 5.3 изменить таблицу пользователей в Auth для альтернативного решения, используя модификацию в config / auth.php и RegisterController.РНР.

чтобы отключить метки времени, которые вы также можете использовать в классе модели:

public $timestamps = false;