WEBOPIXEL

Laravel Fakerで一時的に言語を切り替える方法

Laravelロゴ

Posted: 2022.12.04 / Category: PHP / Tag: 

LaravelにはFakerという機能が組み込まれていて、これはダミーデータをランダムで生成する大変便利なものです。
今回は設定ファイルは日本語にしているけど、一部カラムは英語で登録したいといった場合に切り替える方法をご紹介します。

Sponsored Link

基本設定

ベースの言語設定はconfigファイルで行います。
日本語ならja_JPですね。

config/app.php

'faker_locale' => 'ja_JP',

ファクトリーファイルの設定

ファクトリーファイルで一部のカラムを英語に切り替えるように設定してみましょう。
\Faker\Factory::create('en_US')を変数に保持しておいて、英語にしたいカラムはこのFakerから生成するようにします。

database/factories/UserFactory.php

<?php

declare(strict_types=1);

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

class UserFactory extends Factory
{
	public function definition()
	{
		$enFaker = \Faker\Factory::create('en_US');

		return [
			'name' => fake()->name(),
			'en_name' => $enFaker->name(),
		];
	}
}