许多数据库采用复合主键,其中多个列形成每行的唯一标识符。 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中文网其他相关文章!