I was curious, I'm using Laravel and Artisan for my migrations. Is there a method to output information to the console? I can't seem to find any information on this. For example:
<?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();
}
}
Since the chosen answer doesn't seem to work since 4.2, I say just keep it simple:
'Symfony\Component\Console\Output\ConsoleOutput;' works for me on Laravel 5.2
Don't know if you are using Laravel 3 or Laravel 4, and if its also possible in Laravel 3, but i found this in the docs.
EDIT
If you switch to database seeds you can use this to display a message
For database seeding in Laravel5, you can use
to print the output on command line.
<info>
shows the message in green color where as<error>
shows in red color which can be used for error messages.Talking about Laravel 5 (you can check the version you have with
php artisan --version
), the Migration base-class has no printing method.A simple
echo
will do the work, However, if you want, you can extend it and add this functionality:and then simply call it with your message:
This works for me
I have a migration which is converting a large table into a more efficient format and use this to get some progress while it works.