【问题标题】:Laravel Seeding OutputLaravel 播种输出
【发布时间】:2016-10-09 20:32:29
【问题描述】:

通常当我为我的数据库播种时,它会告诉我我在命令行上播种哪个表,但是因为我将一个参数传递给我的播种机,所以消息已经消失(使得调试非常困难,因为我不知道它在哪个播种机上当它破裂时)。

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);
    }
}

知道如何找回它吗?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    像这样改变你的 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);
        }
    }
    

    【讨论】:

      【解决方案2】:

      在原来的Seedercall方法中有一个额外的声明,尝试添加它:

      public function call($class) {
      
          //...
      
          if (isset($this->command)) {
              $this->command->getOutput()->writeln("<info>Seeded:</info> $class");
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2014-09-05
        • 2015-04-13
        • 2017-06-12
        • 2017-03-20
        • 2016-05-28
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多