artisan 一个一个输出
artisan output one by one
如果我 运行 php artisan migrate:fresh --seed --force
在控制台中一切正常。
输出一一显示。
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Seeding: UsersTableSeeder
etc.
如果我 运行 来自 Laravel 的 artisan 命令,除输出外一切正常。它在所有操作的最后显示一次。
$this->info('Migrating and seeding the database...');
Artisan::call('migrate:fresh', [
'--seed' => true,
'--force' => true,
]);
$this->line(Artisan::output());
我正在寻找一种方法来为每个 table 一个一个地显示 Artisan::output()(与 运行 在控制台中执行命令相同的行为)。
您的代码之所以如此工作,是因为您在命令完成后显示了命令的输出:
$this->line(Artisan::output());
为了在 运行 迁移过程中显示执行的 migrate:fresh 命令的输出,您需要将其输出到父命令而不是它自己的命令,稍后由 Artisan::output() 读取。
以下代码可以解决问题:
$this->info('Migrating and seeding the database...');
Artisan::call('migrate:fresh', [
'--seed' => true,
'--force' => true,
], $this->output);
注意传递给 call()
方法的第三个参数。
如果我 运行 php artisan migrate:fresh --seed --force
在控制台中一切正常。
输出一一显示。
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Seeding: UsersTableSeeder
etc.
如果我 运行 来自 Laravel 的 artisan 命令,除输出外一切正常。它在所有操作的最后显示一次。
$this->info('Migrating and seeding the database...');
Artisan::call('migrate:fresh', [
'--seed' => true,
'--force' => true,
]);
$this->line(Artisan::output());
我正在寻找一种方法来为每个 table 一个一个地显示 Artisan::output()(与 运行 在控制台中执行命令相同的行为)。
您的代码之所以如此工作,是因为您在命令完成后显示了命令的输出:
$this->line(Artisan::output());
为了在 运行 迁移过程中显示执行的 migrate:fresh 命令的输出,您需要将其输出到父命令而不是它自己的命令,稍后由 Artisan::output() 读取。
以下代码可以解决问题:
$this->info('Migrating and seeding the database...');
Artisan::call('migrate:fresh', [
'--seed' => true,
'--force' => true,
], $this->output);
注意传递给 call()
方法的第三个参数。