多くのデータベースは複合主キーを採用しており、複数の列が各行の一意の識別子を形成します。このような場合、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 中国語 Web サイトの他の関連記事を参照してください。