我想知道是否有人可以帮助我。
我无法使用播种机在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表非常感谢任何帮助。
干杯, 克里斯
答案 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
),
);