列的工厂相同 ID,自动增量,Laravel

Posted

技术标签:

【中文标题】列的工厂相同 ID,自动增量,Laravel【英文标题】:Factory same ID for a column, auto-incremental, Laravel 【发布时间】:2020-06-10 07:28:14 【问题描述】:

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

//来自工厂

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

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

【问题讨论】:

【参考方案1】:

我找到了答案,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;
    

【讨论】:

以上是关于列的工厂相同 ID,自动增量,Laravel的主要内容,如果未能解决你的问题,请参考以下文章

基于表列的多个自动增量ID

带有标识(自动增量)列的 BULK INSERT

工厂的增量编号,Laravel

MySQL:创建具有自动增量的表并将生成的值与同一表的不同列的值连接起来

laravel中独特的两列

如何从 SQLite 表中检索最后一个自动增量 ID?