modelFactory

๋”๋ฏธ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋„๊ตฌ

๊ธฐ๋ณธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

factory(App\Models\User::class)->make();
factory(App\Models\User::class,5)->make();
factory(App\Models\User::class)->make(['name'=>'foo']);

์‹œ๋” ์ด์šฉ

make()๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋ธ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ๋งŒ ํ•  ๋ฟ ์‹ค์ œ db์— ์ €์žฅ์ด ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— seeder์—์„œ create()๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ db์— ์ €์žฅํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        factory(App\User::class, 5)->create();
    }
}

๋ชจ๋ธํŒฉํ† ๋ฆฌ ์ƒ์„ฑ

definition()๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ factory()๋ฉ”์„œ๋“œ์˜ ๋‚ด์šฉ์„ ์ •์˜ํ•ด์ฃผ๋ฉด๋œ๋‹ค.

depth ๊ด€๊ณ„ Seeder์ถ”๊ฐ€ํ•ด๋ณด๊ธฐ

์—˜๋กœํ€€ํŠธ ์ปฌ๋ ‰์…˜์—์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” each๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์ปฌ๋ ‰์…˜์„ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๊ณ , foreach()๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋„ ๋‹จ์ˆœํžˆ make()๋กœ๋Š” db์— ์ €์žฅ์ด ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ €์žฅ์„ ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š”๋ฐ create()๊ฐ€ ์•„๋‹ˆ๋ผ save()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. save()๋Š” create()์™€ ์—ญํ• ์€ ๊ฐ™์ง€๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…์ด save()๋Š” ๊ฐ์ฒด, create()๋Š” ๋ฐฐ์—ด์ด๋ผ๋Š” ์ ์ด ๋‹ค๋ฅด๋‹ค.

Last updated