laravel的modelFactory 生成假数据时,如何保证不重复?
通过unique过滤,但是没起作用,谷歌了相关问题,没有发现合适的
use Faker\Generator as Faker;
$factory->define(App\Models\Tab::class, function (Faker $faker) {
return [
'name' => $faker->unique()->randomElement(['我的', '搜索', '推荐', '电影', '电视剧', '综艺', '小品', '动漫', '动画屋', '应用', '其他']),
'name_cover' => 'http://imgbftv.b0.upaiyun.com/1342/20180515151342_1_45727.jpeg',
'name_cover_focus' => 'http://imgbftv.b0.upaiyun.com/1342/20180515151342_1_45727.jpeg',
'bg_cover' => 'http://imgbftv.b0.upaiyun.com/1342/20180515151342_1_45727.jpeg',
'operate_type' => $faker->randomElement([0, 1, 2]),
'status' => $faker->randomElement([0, 1, 2]),
'operator' => $faker->username,
'sort' => $faker->unique()->randomDigit,
];
});
public function run()
{
// create tabs and save them to the database
$tabs = factory(App\Models\Tab::class,8)->create();
}
期待生成的某些字段数据是不重复的,但目前的结果是有重复数据的
翻阅古今