Pocket

ユーザーデータベースを拡張したい

Laravel5のデフォルトUserデータベース『user』はコマンドライン(SSH)から、

php artisan migrate

を使って生成されます。で、登録される標準のパラメータは下記です。

  • id
  • email
  • name
  • password
  • reminder_token
  • created_at
  • updated_at

「他にもパラメータを盛り込みた~い!」って方いますよね?僕です。
追加パラメータ足していきましょう。今日も僕の備忘録。

User::create

以下は普通にユーザー登録するときのコマンド。コントローラーから読んだりします。
User::create([
    'name' => '名前',
    'email' => 'メアド',
    'password' => bcrypt('パスワード'),
]);

では、ここに’activate’というパラメータを足してみたいと思います。ユーザー登録した後に仮登録メールが届いて、記載のURLにアクセス後、本登録完了。みたいなシステムで、activateパラメータを用意しておくと便利ですね。

migrationのデータベース変更

databaseフォルダの中にユーザーテーブルの設計図的なものがあります。

『database⇒migrations⇒2014_10_12~~~create_user_table.php』

を開く。

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('email')->unique();
        $table->string('auth');
        $table->string('password', 60);
        $table->rememberToken();
        $table->timestamps();
	$table->integer('activate');
    });
}

最終行に整数型(integer)で『activation』を追加しました。この状態でartisanを使ってuserテーブルを作成すると、追加パラメータがテーブルに反映されます。

User.phpの変更

User.phpの内部のfillable配列に追加パラメータを書き込みます。

『app⇒User.php』

protected $fillable = [
    'name', 'email', 'password','activate',
];
配列の最後に、‘activate’,を書き加えます。『,』をお忘れなく。

User::createを修正

あとはUser::createで『activate』を追加した配列を引数に設定するだけ。
User::create([
    'name' => '名前',
    'email' => 'メアド',
    'password' => bcrypt('パスワード'),
    'activate' => 0
]);

はい、完成です。以上3つのファイル変更で追加パラメータの対応が可能です。


パソコンのトラブルはこちらへ
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です