通常,当我的数据库播种时,它会告诉我在命令行上播种哪个表,但是因为我向我的播种器传递了一个参数,所以该消息已经消失(使调试非常困难,因为我不知道它在哪个播种器上)休息)。
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class SeedTestLargeData extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
// Default
$this->call(UsersSeeder::class, 'large_test_data');
Model::reguard();
}
public function call($class, $data_filename = null) {
$this->resolve($class)->run($data_filename);
}
}
知道如何找回它吗?
像这样更改你的 call() 方法:
public function call($class, $data_filename = null)
{
$this->resolve($class)->run($data_filename);
if (isset($this->command)) {
$this->command->getOutput()->writeln("<info>Seeded:</info>".$class);
}
}
原来的
Seeder
类call
方法中多了一条语句,尝试添加一下:
public function call($class) {
//...
if (isset($this->command)) {
$this->command->getOutput()->writeln("<info>Seeded:</info> $class");
}
}
在播种机中,您可以使用以下方式访问输出组件:
$this->command->outputComponents()->info('info message');
$this->command->outputComponents()->success('success message');
$this->command->outputComponents()->error('error message');