Laravel 8 主鍵

2021-07-19 11:23 更新

Eloquent 也會(huì)假設(shè)每個(gè)數(shù)據(jù)表都有一個(gè)名為 id 的主鍵列。你可以定義一個(gè)受保護(hù)的 $primaryKey 屬性來(lái)重寫約定。

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Flight extends Model
{
    /**
     * 與表關(guān)聯(lián)的主鍵
     *
     * @var string
     */
    protected $primaryKey = 'flight_id';
} 

此外,Eloquent 假設(shè)主鍵是一個(gè)自增的整數(shù)值,這意味著默認(rèn)情況下主鍵會(huì)自動(dòng)轉(zhuǎn)換為 int 類型。如果您希望使用非遞增或非數(shù)字的主鍵則需要設(shè)置公共的 $incrementing 屬性設(shè)置為 false

<?php

class Flight extends Model
{
    /**
     * 主鍵是否主動(dòng)遞增
     *
     * @var bool
     */
    public $incrementing = false;
} 

如果你的主鍵不是一個(gè)整數(shù),你需要將模型上受保護(hù)的 $keyType 屬性設(shè)置為 string

<?php

class Flight extends Model
{
    /**
     * 自動(dòng)遞增主鍵的「類型」
     *
     * @var string
     */
    protected $keyType = 'string';
} 


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)