こんにちは。YOSHITAKA(@YOSHITA19704216)です。
- Laravelのダミーデータ作成の種類がわかります。
Contents
Laravelのテストデータを入れる
初期設定
- envファイルの設定を日本語設定にしておきましょう。
- Laravelのダミーデータ日本語化で検索すると良いです。
よく使うダミーデータ
■■ 名前
$faker->name()
出力結果 斎藤 まさこ
■■ 住所
$faker->address()
出力結果 7443156 奈良県村山市東区加納町木村10-1-5
※郵便番号7桁もランダムで出力されます。
■■ 会社名(日本語)
$fake->company()
出力結果 有限会社 ○○ 株式会社○○
■■ ユーザー名
$faker->userName()
出力結果 kudo.kyosuke
■■ パスワード
$faker->password()
出力結果 DKVA_6K3S|
■■ country 国 Sierra Leone
$faker->country()
出力結果 カメルーン
■■ メールアドレス
$faker->email()
出力結果 ryosuke3@uno.com
安全な電子メール(存在しない電子メール)として以下の書き方もあります。
$faker->safeEmail()
■■ 電話番号
$faker->phoneNumber()
出力結果 0410-021-281
■■ 日付
$faker->date($format=‘Y-m-d’,$max=‘now’)
出力結果 1975-09-03
■■ クレジット番号
$faker->creditCardNumber()
出力結果 5540806828245734
■■ 配列の値をランダムに抽出
$faker->randomElement($gender)
出力結果 男
※変数を自分で作るようにしましょう。
■■ 2桁の数字をランダムに表示
$faker->randomNumber(2)
出力結果 12
※()の中の数字が桁数になります。
■■ 10~100のランダム値
$faker->numberBetween(10,100)
出力結果 58 など
■■ 正規表現
$faker->regexify(‘[1-9]{3}-[0-9]{4}‘)
出力結果 735-4103
※正規表現については、正規表現で検索してみてください。
■■ 性別
$faker->randomElement($array=[‘男性‘,’女性‘])
出力結果 男性 or 女性
こちらでもできるっぽいです。
$faker->randomElement([‘男性’, ‘女性’])
配列の書き方はどちらでもできるようです。
できない場合は変数に格納しましょう。
■■ 誕生日
$faker->dateTimeBetween(‘-80 years’, ‘-20years’)->format(‘Y-m-d’)
※20歳から80歳になるように設定
出力結果 46
■■日本語の文章(文字数指定した文章)
$faker->realText()
※デフォルトは200(日本語)
※※30文字の文章の場合は次のように指定します。
$faker->realText(30)
文字系のダミーデータ
■■ 文字系
$faker->text()
出力結果 100文字の内容
※英語だったと思うので、日本語にする時はrealTextで対応しましょう。
■■ 1〜4つの単語で文章
$faker->sentence(rand(1,4)),
出力結果 後ほど、検証した内容を貼り付けます。
■■ 単語
$faker->word()
出力結果 後ほど、検証した内容を貼り付けます。
■■ 単語数指定した文章
$faker->sentence(n)
出力結果 後ほど、検証した内容を貼り付けます。
※ nが単語数になります。
■■ max文字数までの文章
$faker->text(max)
出力結果 後ほど検証します。
factory(ファクトリー)の見本
モデル名はご自身で決定したデータベースの名称を入れます。
今回はCustomerモデル(データベース)にテストデータを入れています。
$factory->define(App\Customer::class, function (Faker $faker) {
//配列を入れて、5つの中でランダムで出力
$note_memo = [
‘危険度A’,
‘危険度B’,
‘太客’,
‘期待大’,
‘激アツリーチ’,
];
‘name’ => $faker->lastName,
‘zip_code’ => $faker->postcode,
‘note’ => $faker->randomElement($note_memo),
‘month’ => $faker->month,
‘project_type’ => $faker->numberBetween(1, 5),
‘created_at’ => date(‘Y-m-d H:i:s’),
‘password’ => Crypt::encrypt(‘testpass’),
‘status’ => $faker->boolean,
‘name’ => $faker->name,
‘login_server’ => $faker->macAddress,
‘login_remote_ip_address’ => $faker->ipv4,
‘login_remote_host’ => $faker->ipv4,
‘login_user_agent’ => $faker->userAgent,
‘login_referrer’ => $faker->url,
‘password’ => Crypt::encrypt(‘testpass’),は、’testpass’を暗号化して保存しています。
まとめ
今回はLaravelでダミーデータを入れるフェイカーについてお伝えしました。
備忘録なので、自分も活用していきます。
※プログラミングは習得中ですので、参考程度に記事を読んでください。