Я должен засеять довольно много данных в базу данных, и я хочу показать пользователю индикатор выполнения, пока это происходит. Я знаю, что это документально:Использование полосы прогресса при посеве базы данных в Laravel
- https://laravel.com/docs/master/artisan#registering-commands (чуть выше)
- http://symfony.com/doc/2.7/components/console/helpers/progressbar.html
но у меня возникают проблемы, в том числе это в моем сеялке.
<?php
use Illuminate\Database\Seeder;
class SubDivisionRangeSeeder extends Seeder
{
public function run()
{
$this->output->createProgressBar(10);
for ($i = 0; $i < 10; $i++) {
sleep(1);
$this->output->advance();
}
$this->output->finish();
}
}
или
<?php
use Illuminate\Database\Seeder;
class SubDivisionRangeSeeder extends Seeder
{
public function run()
{
$this->output->progressStart(10);
for ($i = 0; $i < 10; $i++) {
sleep(1);
$this->output->progressAdvance();
}
$this->output->progressFinish();
}
}
Любые идеи?
да, но настроенная команда не чтобы узнать, где сеялка находится в цикле посевных данных, чтобы увеличить индикатор выполнения. – Sevenearths
Конечно, вам нужно создать что-то более сложное, нормальной сеялки будет недостаточно :) –