ホーム

転職ドラフト(次回12/15)

Laravel8、Jetstreamでユーザー登録のカスタマイズ方法

いつもご利用ありがとうございます。このブログは、広告費によって運営されています。

⇨ Laravel 記事の目次はこちら

Laravel8 の Jetstream でユーザー登録のカスタマイズをする方法について書いていきます。

目次

  1. users テーブルに保存する情報を追加したい
  2. email ではなくログイン ID でログインさせたい

users テーブルに保存する情報を追加したい

これからの内容は、一番最初の「作り始め」のときの内容となります。

もうすでに本番稼働しているサービスなどで変更するための方法ではありませんので、注意してください。

マイグレーションファイルに追記する

users テーブルは、最初から必要最低限の認証に必要なデータや、「使うであろう」カラムが用意されています。

database/migration/20141012000000createuserstable.php

を開いてください。

        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->foreignId('current_team_id')->nullable();
            $table->string('profile_photo_path', 2048)->nullable();
            $table->timestamps();
        });

というように、初期状態から色々カラムが設定されています。

なので、例えば「性別」を入力したい場合、「gender」というカラムを追加してみましょう。

//これを追記する
//入れる場所は最後ではなく、カラムの順番としてわかりやすいところにしたい
$table->string('gender')->nullable();

全体

        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->foreignId('current_team_id')->nullable();
            $table->string('profile_photo_path', 2048)->nullable();
            //これを追記する
            //入れる場所は最後ではなく、カラムの順番としてわかりやすいところにしたい
            $table->string('gender')->nullable();
            $table->timestamps();
        });

マイグレーションファイルを変更したら?

コマンドを打ちます。

php artisan migrate:fresh

マイグレーションをしますが、fresh オプション付きで打ちます。

開発環境なので、打てるコマンドで、決して本番環境では打ってはダメということだけ覚えておきましょう。

本番環境で打つときは、

php artisan migrate

になりますが、今回は作りはじめなので、このやり方をしています。

参考記事

⇨Laravel でデータベースを作成する方法(マイグレーション)

email ではなくログイン ID でログインさせたい

まず config で設定を変更する

config/fortify.php

49行目あたりにこんな記述があります。

 'username' => 'email',

ここを、

  'username' => 'lid'
  // 'username' => 'ログインさせたいカラム名'

ログインページや登録ページを編集する

コマンド

php artisan vendor:publish --tag=jetstream-views

auth/login.blade.php の修正

<input name="email" />
<input name="lid" />

まとめ

結構登録周りのカスタマイズは Laravel6 と変わっているような、変わっていないような感じですね。

日々アップデートしていきます。

こういうカスタマイズしてみたいけど情報見つからないと言う人は Twitter からご連絡くださいませ。

人気記事

PHP7.4 + Laravel6 のプロジェクトを AWS EC2 にデプロイする

【laravel-breadcrumbs】Laravel でパンくずリストを実装する