Добрый вечер. Я добавил логическое поле «privacy_ok» к моей модели пользователя и миграции.
файл миграции
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name',100)->nullable();
$table->string('last_name',100)->nullable();
$table->string('email');
$table->string('password');
$table->boolean('privacy_ok')->default(0);
$table->text('permissions')->nullable();
$table->timestamp('last_login')->nullable();
$table->timestamps();
$table->engine = 'InnoDB';
$table->unique('email');
});
App \ User. php
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'first_name','last_name','email', 'password', 'privacy_ok'
];
....
Когда я пытаюсь зарегистрировать своего пользователя, новое поле пропускается.
$user = Sentinel::register($request->all());
Я заметил, что если я вызываю ошибку (дублирующийся адрес электронной почты ... например), запрос INSERT показывает поле "privacy_ok".
Есть ли способ решить эту проблему?
Нужно ли мне использовать User :: create, а затем «конвертировать» его в объект Cartalyst Sentinel на go со всеми другими операциями (например, активацией)?
Спасибо
EDIT
Я нашел здесь некоторую информацию Laravel Cartalyst Sentinel - Добавление столбца с именем пользователя в таблицу пользователей (как правильно)
Теперь у меня есть новый файл App \ Models \ Cartalyst \ User . php, но когда я добавляю его в файл конфигурации cartalyst ( config / cartalyst.sentinel. php), я получаю сообщение об ошибке.
'users' => [
// 'model' => 'Cartalyst\Sentinel\Users\EloquentUser',
'model' => 'App\Models\Cartalyst\User',
],
* 1 038 * Невозможно объявить класс User, потому что имя уже используется
Конечно, пользователь присутствует, даже если я изменю User на Lorem. Это не проблема именования.
РЕШЕНО Я забыл объявить пространство имен в заголовке нового класса! : (