Laravel eloquent 中的主键增量和迁移

Laravel primary key incrementation in eloquent and migration

所以我有自定义主键,我不确定是否需要在 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()等的第二个参数是$autoIncrement = false.
  • 如果您将列标记为 $autoIncrement,则不需要也不能使用 ->primary()(至少在 MySQL 上)。