Я часто возвращаюсь к документации Laravel всякий раз, когда мне нужно создать новые фабрики и сеялки для моих проектов, будь то учебные упражнения, хобби-проекты или реальные приложения ( скучно каждый раз делать одни и те же действия). Чтобы упростить этот процесс, я решил создать руководство, к которому я смогу обращаться при необходимости, что сэкономит время и избавит от необходимости искать в обширной документации. Если это руководство поможет кому-то еще, это будет здорово!
Предположим, что у нас есть отношение «Пользователь/Сообщения», то есть каждый пользователь может иметь одно или несколько сообщений, и каждое сообщение принадлежит пользователю.
Что такое фабрика?
Фабрика в Laravel — это класс для генерации тестовых данных для вашего приложения. Это полезно для локальной разработки и промежуточной среды, предоставляя множество преимуществ. Laravel позволяет вам создать фабрику для каждой вашей модели.
Что такое сеялки?
Сидеры в Laravel используются для заполнения вашей базы данных данными с использованием начальных классов, что особенно полезно для целей тестирования.
Создание новых фабрик
Чтобы создать новую фабрику, выполните следующую команду:
php artisan make:factory PostFactory
Вы найдете класс фабрики в каталоге базы данных/фабрик. Вот пример определения вашей фабрики:
public function definition(): array { return [ 'title' => $this->faker->sentence, 'content' => $this->faker->paragraph, 'user_id' => User::factory(), ]; }
Создание сеялок
Чтобы создать новую сеялку, выполните следующую команду:
php artisan make:seeder PostSeeder
Вы найдете класс сеялки в каталоге базы данных/сидеров. Вот пример функции запуска внутри этого класса:
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' => '[email protected]', // ]); $this->call([ PostSeeder::class, .., .. ]); }
Выполнение миграции и заполнение базы данных
Сначала запустите миграцию базы данных:
перенос PHP Artisan
Затем заполните базу данных:
php artisan db:seed
Теперь у вас есть тестовые данные. Наслаждаться!
Оригинально опубликовано в моем блоге!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3