Laravel 7でFactoryとTinkerを使用する方法


まず、Factoryを使用してモデルにテストデータを生成する方法を見てみましょう。まず、database/factoriesディレクトリにファクトリファイルを作成します。例えば、UserFactory.phpという名前のファイルを作成します。

use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => bcrypt('password'),
    ];
});

上記の例では、Userモデルのためのファクトリを定義しています。nameemailpasswordのテストデータを生成するために、Fakerライブラリを使用しています。

次に、Tinkerを使用してテストデータをデータベースに挿入する方法を見てみましょう。ターミナルで以下のコマンドを実行します。

php artisan tinker

Tinkerが起動したら、以下のようにFactoryを使用してモデルのインスタンスを生成し、データベースに保存することができます。

$user = factory(App\User::class)->create();

上記のコードでは、Userモデルのインスタンスを生成し、create()メソッドを使用してデータベースに保存しています。

FactoryとTinkerを組み合わせることで、簡単にテストデータを生成し、データベースに挿入することができます。これは、テストやデータベースの初期化に役立ちます。