Intereting Posts
Как вызвать php-скрипт / функцию при нажатии кнопки html Невозможно установить доктрину mongodb в symfony2 с композитором Недопустимая аббревиатура сокращенного времени DST для Австралии при использовании date_default_timezone_set Как автоматизировать сбор данных, а не замораживание в 10% Проект Cake php 2.x перенаправляет на неправильный URL-адрес после реализации ACL Как суммировать значение времени в массиве Laravel – Refopulate, чтобы поставить галочку или откупорить Запрос на ввод MySQL Как установить отношения «Жестокое» принадлежит ЧЕРЕЗ другую модель в Laravel? Как отформатировать электронную почту, с которой Hotmail / Outlook доволен? Удалите файл с увеличенным изображением с помощью ajax-кода Laravel 4.2 ссылка на ссылки на действия и% 27 Модель обновления Laravel с уникальным правилом проверки атрибута Невозможно разобрать RSS XML с PHP Не удалось отправить файлы cookie с файлом_get_contents

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