Пользовательские поля кажутся пустыми, когда пользователь был зарегистрирован - PullRequest
0 голосов
/ 02 ноября 2018

Я добавил пару новых столбцов в таблицу пользователей, например role, suspended_at и banned_at. А потом добавил их как заполняемые.

Но при регистрации нового пользователя поля кажутся пустыми (кроме id, created_at и updated_at).

Вот файл миграции

Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string("username", 20)->unique()->index();
        $table->string('email')->unique();
        $table->string('password');
        $table->string("role",15)->default("newbie");
        $table->rememberToken();
        $table->timestamps();
        $table->dateTime("suspended_at")->nullable();
        $table->dateTime("banned_at")->nullable();
    });

Модель пользователя

protected $fillable = [
        'name', 'email', 'password', "username", "role", "suspended_at", "banned_at"
    ];

небольшое демо из таблицы пользователей.

+----+------+----------+-------+----------+------+
| id | name | username | email | password | role |
+----+------+----------+-------+----------+------+
|  4 |      |          |       |          |      |
+----+------+----------+-------+----------+------+

RegisterController

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        "username" => $data["username"],
        'password' => Hash::make($data['password'])
    ]);
}

1 Ответ

0 голосов
/ 03 ноября 2018

Если вы не добавите role, suspended_at, banned_at внутри User::create, чтобы зарегистрироваться. А также в вашей таблице нет столбца suspended_at, banned_at, пожалуйста, проверьте один раз.

Вместо использования регистрации по умолчанию я предлагаю вам создать свой собственный контроллер php artisan make:controller UserController, затем добавить post-url для указания / запуска функции, такой как Route::post('/register', UserController@add_new_user), а затем внутри контроллера вы должны вызвать модель, добавив use App\User до class UserController extends Controller и внутри класса создайте свою собственную функцию, как показано ниже:

public function add_new_user(Request $request) {
  $user = new User; //modal
  $user->name = $request->name;
  $user->username = $request->username;
  $user->email = $request->email;
  .
  .
  .
  $user->save();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...