Intereting Posts
PHP: как создать регулярное выражение для preg_match () для мобильных телефонов PT? Рекомендации PHP: Im загружает массив $ GLOBALS с большим количеством информации, которая будет использоваться между моими php-страницами как получить значение сессии внутри symfony2 я использую fosuserbundle Какой смысл иметь $ this и self :: в PHP? Настройка HTTP-заголовков для запуска тестовых примеров Как решить «Ошибка вызова неопределенной функции dbase_open ()» в окнах что является лучшим способом создания случайного идентификатора mysql с помощью PHP Где найти файл .htaccess в моем Xampp localhost Текстовое содержимое и FileUpload с AJAX Как читать файл по строкам в php Как отсортировать массив PHP объектов по значению внутри объекта в каждом элементе? CURL: отправка изображений с помощью границы в REST API php extract UK почтовый индекс и подтвердите его Как отображать цену продукта с и без налога одновременно в списке продуктов для Prestashop? wordpress – вызов функции при отправке комментария

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', ]; 

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

Почти. Вы должны создать свои собственные пользовательские классы, расширяя 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