要在使用 Laravel Artisan 时显示错误,官方 Laravel 5.8 文档说:
$this->error('出了点问题!');
但是
$this
的背景是什么?
以下是播种器类文件的内容:
use Illuminate\Database\Seeder;
class PopulateMyTable extends Seeder
{
public function run()
{
$this->info("Console should show this message");
}
}
您可以通过
$this->command->method()
来完成。
其中
$this
是这个 Seeder 实例,
command
是这个播种者控制台 Command 实例,method()
可以是任何命令可用的输出方法。
<?php
use Illuminate\Database\Seeder;
use App\User;
use Illuminate\Support\Facades\Hash;
class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$message = 'sample ';
$this->command->info($message . 'info');
$this->command->line($message . 'line');
$this->command->comment($message . 'comment');
$this->command->question($message . 'question');
$this->command->error($message . 'error');
$this->command->warn($message . 'warn');
$this->command->alert($message . 'alert');
}
}
现在,
$command
被定义为受保护,并且无法通过播种器访问它。
只需要 PHP
echo
就能解决问题。