Мне было любопытно, я использую Laravel и Artisan для моих миграций. Есть ли способ вывода информации на консоль. Я не могу найти никакой информации об этом. Например:
<?php class Generate_Sample_Users{ public function up(){ //Echo to console here echo "Creating sample users..."; $generator = new Sample_Data(); $user_count = 30; $users = array(); for($i=0; $i < $user_count; $i++){ array_push($users, $generator->generate_user($i)); } DB::table('users')->insert($users); } public function down(){ DB::table('users')->delete(); } }
Не знаю, используете ли вы Laravel 3 или Laravel 4, и если это возможно и в Laravel 3, но я нашел это в документах .
$this->info('Creating sample users...');
РЕДАКТИРОВАТЬ
Если вы переключитесь на семена базы данных, вы можете использовать это для отображения сообщения
$this->command->info('Creating sample users...');
Это работает для меня
use Symfony\Component\Console\Output\ConsoleOutput; class MigrateData { public function up() { $output = new ConsoleOutput(); for($i=0; $i<50000; $i++) { $output->writeln('Converting '.$i.' of 50000'); } } }
У меня есть миграция, которая преобразует большую таблицу в более эффективный формат и использует ее для достижения определенного прогресса, пока она работает.
'Symfony \ Component \ Console \ Output \ ConsoleOutput;' работает для меня на Laravel 5.2
Поскольку выбранный ответ, похоже, не работает с 4.2, я просто говорю просто:
public function up() { // Migration runs // echo 'Records processed' . PHP_EOL; }
Мне нравится цвет, добавленный Dumper (проверенный на Laravel 5.3). Я думаю, выглядит немного лучше, чем использование эха. Проблема, с которой я столкнулась, заключается в том, что ее слишком легко упускать, а Dumper добавляет немного зеленого цвета, который бросается в глаза:
public function up() { // Migration runs // (new Illuminate\Support\Debug\Dumper)->dump("A bit more colorful text"); }
Для посева базы данных в Laravel5 вы можете использовать
$this->command->getOutput()->writeln("<info>Your message here</info>");
для вывода вывода в командной строке.
<info>
показывает сообщение в зеленом цвете, где <error>
отображается красным цветом, который может использоваться для сообщений об ошибках.