許多資料庫採用複合主鍵,其中多個欄位形成每行的唯一識別碼。 Laravel 的預設主鍵「id」在這些情況下可能並不總是足夠。
要在Laravel 5 模型中定義複合主鍵,您可以使用PHP 特徵,例如以下內容:
trait HasCompositePrimaryKey { ... // ... Additional code from the answer ... ... }
在模型中包含此特徵並將$primaryKey 屬性設定為表示複合的陣列鍵:
class MyModel extends Eloquent { use Traits\HasCompositePrimaryKey; protected $primaryKey = ['key1', 'key2']; ... }
此特徵重寫某些 Laravel 方法來處理複合鍵:
雖然這個解決方案提供了複合鍵的解決方法,但它有一些限制:
如果特徵解決方案證明不合適,請考慮使用自訂主鍵或不同的方法來管理組合鍵。請參閱 Laravel 文件和線上資源以獲取進一步指導。
以上是如何在 Laravel 5 模型中實作複合主鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!