“Eloquent Run Seeder” — это команда, часто используемая в Laravel, популярной PHP-инфраструктуре, для запуска раздающих программ. Сидеры — это классы, которые помогают заполнить базу данных фиктивными данными. Итак, проще говоря, «сеялка красноречивого запуска» относится к действию сеялок с использованием Eloquent, системы ORM (объектно-реляционного сопоставления) Laravel.
В этой статье блога я объясню различные методы запуска сеялок с использованием Eloquent в Laravel, приведя примеры кода для каждого метода. Давайте погрузимся!
Метод 1: использование команды db:seedArtisan
Laravel предоставляет Artisan-команду под названием db:seed, которая позволяет запускать раздающие. Вот пример того, как его использовать:
php artisan db:seed
Метод 2: использование метода callв классе Seeder
Вы также можете вызвать определенный класс раздачи непосредственно внутри другого класса раздачи, используя метод call. Вот пример:
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call(UserSeeder::class);
$this->call(ProductSeeder::class);
// Call more seeders as needed
}
}
Метод 3: использование класса SeedCommand
Если вы хотите программно запускать сеялки в коде вашего приложения, вы можете использовать класс SeedCommandLaravel. Вот пример:
use Illuminate\Database\Console\Seeds\SeedCommand;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\NullOutput;
$command = new SeedCommand();
$command->setLaravel(app());
$input = new ArrayInput(['--class' => 'UserSeeder']);
$output = new NullOutput();
$command->run($input, $output);
Метод 4: использование фасада Seeder
Laravel предоставляет фасад Seeder, который можно использовать для запуска раздающих программ. Вот пример:
use Illuminate\Support\Facades\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
\Seeder::call(UserSeeder::class);
\Seeder::call(ProductSeeder::class);
// Call more seeders as needed
}
}
Вот некоторые из методов, которые вы можете использовать для запуска сеялок с помощью Eloquent в Laravel. У каждого метода есть свои преимущества, поэтому выберите тот, который лучше всего соответствует вашим требованиям.