Laravel播种preg_replace():错误

时间:2014-06-07 16:53:13

标签: laravel laravel-4 cartalyst-sentry

我想知道是否有人可以帮助我。

我无法使用播种机在laravel中播种数据库,它会不断遇到此错误:

preg_replace(): Parameter mismatch, pattern is a string while replacement is an array

运行php artisan db:seed

有问题的播种者是:GroupTableSeeder.php,文件中的代码是:

<?php

class GroupTableSeeder extends Seeder {

public function run()
{

DB::table('groups')->truncate();

$permissions = array( 'system' => 1, );
$group = array(
    array(
        'name' => 'agency', 
        'permissions' => $permissions, 
        'created_at' => new DateTime, 
        'updated_at' => new DateTime
    ),
);

DB::table('groups')->insert($group);

 }
}

在DatabaseSeeder.php中我有:

public function run()
{
    Eloquent::unguard();

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

我正在尝试使用我当前使用的https://cartalyst.com/manual/sentry#groups

用户角色填充Groups表

非常感谢任何帮助。

干杯, 克里斯

1 个答案:

答案 0 :(得分:1)

找到答案,我需要这样做:

Sentry::getGroupProvider()->create(array(
    'name'        => 'Agency',
    'permissions' => array('admin' => 1),
));

而不是:

$permissions = array( 'system' => 1, );
$group = array(
  array(
    'name' => 'agency', 
    'permissions' => $permissions, 
    'created_at' => new DateTime, 
    'updated_at' => new DateTime
  ),
);