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;