Laravel:用户以外的播种表

时间:2014-12-22 14:02:51

标签: laravel seeding

更新:我将包含我的完整文件替换我的部分视图。 User表的播种器可以工作,但Groups表的播种器不起作用。我确实有Sentry生成的那些表,但是我只创建了一个除了类声明之外没有任何内容的组模型。不知道还包括什么。

<?php

class DatabaseSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Eloquent::unguard();

        //User::create(array('email' => 'foo@bar.com'));

        // $this->call('UserTableSeeder');

        $this->command->info('User table seeded!');
    }
    }


    class UserTableSeeder extends Seeder {

        public function run()
        {
             User::create(array(
                       'username' => 'alvaro',
                       'permissions' =>'{"user":1}'
                       ));

            $this->command->info('User table seeded!');
        }
    }   


    class GroupTableSeeder extends Seeder {

        public function run()
        {
             Group::create(array(
                       'name' => 'usuario',
                       'permissions' =>'{"user":1}'
                       ));

            $this->command->info('Group table seeded!');
        }
    }   

但实际上,我想要的是群组表(我在Sentry上)。是的,我已经创建了Group for Group,作为Group.php,但我不知道如何定义其内容。有时我在其他场合看到仅仅定义课程就足够了,但在这里我不知道,它不会那么容易。

做一些像

这样的事情
class GroupTableSeeder extends Seeder

不会起作用,因为它说这样的类不存在。

1 个答案:

答案 0 :(得分:0)

我唯一需要做的就是创建一个具有该名称的单独文件GroupTableSeeder.php

并在其中包含代码。出于某种原因,虽然UserTableSeeder可以在名为DatabaseSeeder的文件中,但它可以工作,但它不适用于其他表。

class GroupTableSeeder extends Seeder {

        public function run()
        {
             Group::create(array(
                       'name' => 'basicuser',
                       'permissions' =>'{"user.create" :-1,"user.delete" :-1,"user.view":1,"user.update":-1,"post.create":1}'
                       ));

            $this->command->info('Group table seeded!');
        }
    }