laravel - Laravel 主键增量在 eloquent 和迁移中
问题描述
所以我有自定义主键,我不确定是否需要在 eloquent 和迁移中定义增量?
雄辩
class Question extends Model
{
protected $primaryKey = 'que_id';
protected $keyType = 'tinyInteger';
public $autoincrement = true;
}
移民
public function up()
{
Schema::create('questions', function (Blueprint $table) {
$table->tinyInteger('que_id')->autoIncrement();
$table->timestamps();
});
}
还是这样定义就足够了?
public function up()
{
Schema::create('questions', function (Blueprint $table) {
$table->tinyInteger('que_id')->primary();
$table->timestamps();
});
}
解决方案
模型:
$keyType
支持int[eger]
和string
- 没有
$autoincrement
属性,它被称为$incrementing
。
移民:
tinyInteger()
etc.的第二个参数是$autoIncrement = false
.- 如果将列标记为
$autoIncrement
,则不需要也不能使用->primary()
(至少在 MySQL 上)。
推荐阅读
- python - 如何重塑张量并获得Tensorflow中的第一个维度?
- sorting - SSRS 自定义排序与矩阵中的计算列
- javascript - 检测jquery ajax响应是JSON还是二进制,如果是后者,下载文件
- jquery - bootstrap 4 carousel - 将控件放在中间,而不是底部
- extjs - 无法读取 null Ext JS Treestore 的属性“isVisible”
- mapbox - 当 usertrackingmode==MGLUserTrackingModeFollowWithHeading 时,MGLMapview setZoomLevel: :animated 无法按预期工作
- c++ - 程序没有正确显示相应的字母格子
- c# - .NET 5 从/到文件读取和写入 CookieContainer
- r - 将数据框传递给 R Keras 模型拟合
- transfer - Vicidial 问题“您无权转接呼叫”