0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【過去ログ 2022】Laravel Factoryの「unverified」メソッドの用途

0
Posted at

Laravelでダミーデータを作る時に使う「Factoryファイル」ですが、
プロジェクトを作ると初期状態で「UserFactory.php」なるものが作られます。

Factoryを使うときに気にするのは、definitionメソッドぐらいなものなのですが、この「UserFactory」にはunverifiedと名乗る謎のメソッドが......。

こいつ

UserFactory.php
public function unverified() {
        return $this->state(function (array $attributes) {
            return [
                'email_verified_at' => null,
            ];
        });
    }

まあ最初は気にしてなかったんですが、Laravelドキュメント(データベーステストのページ)を読んでいくうちに、だんだん気になってきちゃったんです。
が、不思議なことに最初からあるファイルのくせにLaravelドキュメントにも使用用途が載ってない。

検索してみても使ってる人がいない。使ってるプログラムもない。

で、気になり度が頂点に達してしまって、Qiitaの質問で### (ゆる募)Laravel Factoryのunverifiedの用途が分からないとか書こうとしてましたが、その間にようやく見つかりました。

UserFactory.php
<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;

class UserFactory extends Factory {
    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition() {
        return [
            'name' => $this->faker->name(),
            'email' => $this->faker->unique()->safeEmail(),
            'email_verified_at' => now(),
            'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
            'remember_token' => Str::random(10),
        ];
    }

    /**
     * Indicate that the model's email address should be unverified.
     *
     * @return \Illuminate\Database\Eloquent\Factories\Factory
     */
    public function unverified() {
        return $this->state(function (array $attributes) {
            return [
                'email_verified_at' => null,
            ];
        });
    }
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?