연습 학습, 취미 프로젝트, 실제 애플리케이션 등 내 프로젝트를 위한 새로운 팩토리와 시더를 만들어야 할 때마다 Laravel 문서로 돌아가는 경우가 많습니다( 매번 같은 행동을 하는 것이 지루합니다.) 이 프로세스를 쉽게 만들기 위해 필요할 때마다 참조할 수 있는 가이드를 만들어 시간을 절약하고 광범위한 문서를 검색할 필요를 없애기로 결정했습니다. 이 가이드가 다른 누군가에게 도움이 된다면 정말 좋을 것 같습니다!
사용자/게시물 관계가 있다고 가정해 보겠습니다. 즉, 각 사용자는 하나 이상의 게시물을 가질 수 있고 각 게시물은 한 사용자에게 속합니다.
공장이란 무엇인가요?
Laravel의 Factory는 애플리케이션에 대한 테스트 데이터를 생성하는 클래스입니다. 이는 로컬 개발 및 준비 환경에 유용하며 많은 이점을 제공합니다. Laravel을 사용하면 보유하고 있는 각 모델에 대한 팩토리를 생성할 수 있습니다.
파종기란 무엇인가요?
Laravel의 시더는 시드 클래스를 사용하여 데이터베이스를 데이터로 채우는 데 사용되며 이는 특히 테스트 목적에 유용합니다.
새로운 공장 생성
새 팩토리를 생성하려면 다음 명령을 실행하세요.
php artisan make:factory PostFactory
database/factories 디렉토리에서 팩토리 클래스를 찾을 수 있습니다. 다음은 공장을 정의하는 예입니다.
public function definition(): array { return [ 'title' => $this->faker->sentence, 'content' => $this->faker->paragraph, 'user_id' => User::factory(), ]; }
시더 생성
새 시더를 생성하려면 다음 명령을 실행하세요.
php artisan make:seeder PostSeeder
database/seeders 디렉토리에서 Seeder 클래스를 찾을 수 있습니다. 다음은 이 클래스 내 실행 함수의 예입니다.
public function run(): void { Post::factory() ->count(20) ->create(); }
동일한 디렉토리에서 DatabaseSeeder 클래스를 찾을 수 있습니다. 모든 시더가 포함되어 있는지 확인하세요.
public function run(): void { // \App\Models\User::factory(10)->create(); // \App\Models\User::factory()->create([ // 'name' => 'Test User', // 'email' => 'test@example.com', // ]); $this->call([ PostSeeder::class, .., .. ]); }
마이그레이션 실행 및 데이터베이스 시드
먼저 데이터베이스 마이그레이션을 실행합니다.
php artisan 마이그레이션
그런 다음 데이터베이스를 시드합니다.
php artisan db:seed
이제 테스트 데이터가 준비되었습니다. 즐겨보세요!
원본은 제 블로그에 올렸습니다!
위 내용은 라라벨 팩토리와 시더 생성을 위한 빠른 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!