Регистрация пользователя Cartalyst Sentinel с настраиваемыми полями (решено) - PullRequest
0 голосов
/ 06 августа 2020

Добрый вечер. Я добавил логическое поле «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. Это не проблема именования.

РЕШЕНО Я забыл объявить пространство имен в заголовке нового класса! : (

...