【问题标题】:How to have conditional database seeding in Laravel?如何在 Laravel 中进行条件数据库播种?
【发布时间】:2013-08-19 20:53:24
【问题描述】:

我可以创建种子组吗?例如,我有一些我只想在某些时候执行的种子。执行php artisan migrate --seed --group1时如何添加标志

我对此类功能有哪些选择?

【问题讨论】:

    标签: php mysql laravel


    【解决方案1】:

    好吧,你可以做的是创建多个Seeder 扩展类,并让它们中的每一个在一组特定的表上运行$this->call(),然后使用--class 标志指定你想要的。像这样的:

    class GroupOneDatabaseSeeder extends Seeder {
    
        public function run() {
            Eloquent::unguard();
    
            $this->call('UserTableSeeder');
            $this->call('RoleTableSeeder');
        }
    
    }
    

    然后这样称呼它:

    php artisan db:seed --class="GroupOneDatabaseSeeder"
    

    好吧,或者您可以扩展 SeedCommand 以通过方法而不是类添加此功能。

    【讨论】:

      猜你喜欢
      • 2016-09-16
      • 2015-09-25
      • 1970-01-01
      • 2016-02-10
      • 2021-11-14
      • 2016-02-13
      • 2018-09-06
      • 2018-05-20
      相关资源
      最近更新 更多