列的出厂相同 ID,自动递增,Laravel

Factory same ID for a column, auto-incremental, Laravel

我尝试为列提供该行的 ID, 是自动递增的。现在是随机值。

//来自工厂

    return [
       //code...
       'register_id' => $faker->unique()->numberBetween($min = 1, $max = 100),
       //code...
   ];  

    //From Seeder
    public function run()
    {
        factory(App\Person::class, 100)->create();
    }

我找到了答案,here,并针对我的案例进行了编辑。

$autoIncrement = autoIncrement();

$factory->define(Person::class, function (Faker $faker) use ($autoIncrement) {
    $autoIncrement->next();

    //code

    return [
       'register_id' => $autoIncrement->current(),
    ]

});

function autoIncrement()
{
    for ($i = 0; $i < 1000; $i++) {
        yield $i;
    }
}