我可以在我的 laravel 项目中使用 AUTO_INCREMENT 吗?

Can I use AUTO_INCREMENT in my laravel project?

我有一个 Eloquent 模型,其中有一列是由各种代码组成的数字,最后是一个应该自动递增的数字。最后一个数字与我用来定义模型主键的数字相同,所以我的问题是:

有没有办法使用我的 MySQL 数据库中的 AUTO_INCREMENT 变量?

如果不是,在 Laravel 中创建一个自动递增的变量的最佳方法是什么?

示例:

$code1 = $this->getCode1();
$code2 = $this->getCode2();

$autoIncr = ...;

$final_code = $code1 . $code2 . $autoIncr;

您可以创建一个函数,该函数 returns 您的 table 的下一个 ID(自动递增)并在您的 table;

中插入条目
$code1 = $this->getCode1();
$code2 = $this->getCode2();

$autoIncr = $this->getNextAutoincrement(); 

$final_code = $code1 . $code2 . $autoIncr; 

//Insert in your table
$row = YourModel::create([
   'finalCode' => $final_code
]);

private function getNextAutoincrement() {
    //don't forget import DB facade at the beginning of your class
    $id = DB::select("SHOW TABLE STATUS LIKE 'YOUR_TABLE_NAME'");
    $next_id=$id[0]->Auto_increment;
    return $next_id; 
}

希望对你有所帮助