我可以在我的 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;
}
希望对你有所帮助
我有一个 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;
}
希望对你有所帮助