Intereting Posts
Получите максимальный ID и минимальный идентификатор из определенного столбца в MySQL php Решение для «Неустранимая ошибка: максимальный уровень вложенности функции« 100 »достигнут, прерван!» В PHP создайте запись mysql, если она не существует, иначе обновите ее Как проверить Google reCaptcha v2 с использованием форм фалкона / вольта? MySQL – Объединение INSERT, VALUES и SELECT? Как создать пользовательскую страницу динамически после регистрации пользователя Неудачные запросы по длине в результате теста загрузки ApacheBench is_unique для проверки правильности формы кода Вычисление общего количества часов из базы данных htaccess Переписать URL-адрес без расширения .php в файл В PHP, как обнаружить выполнение из режима CLI или через браузер? PDO IN () Задание массива и местозаполнитель нарушение ограничений doctrine2 Умножение времени в PHP Как установить пользовательскую цену в продуктах opencart?

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