gpt4 book ai didi

php - 如何禁用 Laravel eloquent Auto Increment?

转载 作者:行者123 更新时间:2023-12-02 11:24:17 26 4
gpt4 key购买 nike

我需要一种有效的方法来禁止 Laravel 自动识别我要插入数据的表的主键。

为什么?我不检查数据库和插入的数据之间是否有任何重复,所以如果有任何重复,我只是在 try-catch 块中处理它。

问题是如果有任何失败,Laravel 会像我插入一行一样计数。所以 IDs 列不会按照这个顺序 [1, 2, 3, etc],而是按照这个 [1, 4, 8, 20, etc]。

我对这个问题进行了很多搜索,并尝试在类声明后使用这一行:

public $autoincrement = false;


public $incrementing = false;

但他们没有工作。

我只想使用我的数据库的 AI。不是 Laravel 的。

最佳答案

如果您想使用 non-incrementing or a non-numeric primary key您必须set the public $incrementing property在您的模型上发送至 false .

例如:

class UserVerification extends Model
{
protected $primaryKey = 'your_key_name'; // or null

public $incrementing = false;
}

在迁移的情况下:
$table->integer('id')->unsigned(); // to remove primary key 
$table->primary('id'); //to add primary key

引用: https://laravel.com/docs/5.3/eloquent#eloquent-model-conventions

关于php - 如何禁用 Laravel eloquent Auto Increment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45351425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com