Larvel Cartalyst Sentinel – Добавление столбца имени пользователя в таблицу пользователей (что является правильным способом)

Я потянул в cartalyst / sentinel, и я выполнил миграцию, необходимую для создания таблиц

php artisan migrate --package=cartalyst/sentinel 

Я замечаю, что это столбцы, доступные в таблице пользователей

  1. Я бы
  2. Эл. адрес
  3. пароль
  4. разрешений
  5. последний Войти
  6. имя
  7. Фамилия
  8. создан в
  9. updated_at

Я хочу добавить имя пользователя после письма. Поэтому я создал файл миграции, который делает это.

 //add a column username after email in the users table $table->string('username')->after('email')->unique(); 

Теперь, когда я использую Sentinel :: register

 $credentials = Input::all(); $user = Sentinel::register($credentials); 

Имя пользователя не сохраняется в таблице. Так что мне удалось получить его заполняемым путем редактирования поставщика / cartalyst / sentinel / src / Users / EloquentUser.php

 protected $fillable = [ 'email', 'username', /* i added this */ 'password', 'last_name', 'first_name', 'permissions', ]; 

Теперь это работает, имя пользователя сохраняется в таблице. Но им интересно, правильно ли я делаю? Если мы не касаемся файлов в папке пакетов. Как мы это решаем?

Related of "Larvel Cartalyst Sentinel – Добавление столбца имени пользователя в таблицу пользователей (что является правильным способом)"

Почти. Вы должны создать свои собственные пользовательские классы, расширяя vendor/cartalyst/sentinel/src/Users/EloquentUser.php :

 use Cartalyst\Sentinel\Users\EloquentUser as CartalystUser; class User extends CartalystUser { protected $fillable = [ 'email', 'username', /* i added this */ 'password', 'last_name', 'first_name', 'permissions', ]; } 

Опубликовать конфигурацию Sentinel:

 php artisan config:publish cartalyst/sentinel 

И в конфигурационном файле установите модель пользователя самостоятельно:

 'users' => [ 'model' => 'Your\Namespace\User', ], 

В Laravel 5.2, выполнив шаги @Antonio, вам нужно запустить
php artisan config:cache вместо php artisan config:publish cartalyst/sentinel