Laravel에서 relation factory model 쉽게 생성하기 cover image

Laravel에서 relation factory model 쉽게 생성하기

김재동 • January 20, 2019

laravel test

보통 서로 연관되어 있는 모델의 팩토리는 다음과 같이 생성했다.

$factory->define(App\Project::class, function (Faker $faker) {
    return [
        'title' => $faker->sentence(4),
        'description' => $faker->sentence(4),
        'owner_id' => function () {
            return factory(App\User::class)->create()->id;
        }
    ];
});

Project 모델의 owner_id 필드를 채우기 위해 클로져를 통해 User 팩토리로 id를 만들었는데 아래와 같이 factory 매서드만 호출해도 같은 역할을 한다.

$factory->define(App\Project::class, function (Faker $faker) {
    return [
        'title' => $faker->sentence(4),
        'description' => $faker->sentence(4),
        'owner_id' => factory(App\User::class)
    ];
});