autotrof/eloquent-composite-key

Eloquent 复合主键支持包

1.0.0 2023-04-25 21:25 UTC

This package is auto-updated.

Last update: 2024-09-26 01:02:40 UTC


README

该包用于在 Eloquent 模型上启用复合主键支持。

安装

使用 composer 安装

composer require thiagoprz/eloquent-composite-key

用法

将 primaryKey 定义为数组,并在你的模型类中使用 HasCompositeKey 特性。

<?php
...
use Thiagoprz\CompositeKey\HasCompositeKey;

class User extends Model 
{
    use HasCompositeKey;
    ...
    protected $primaryKey = ['firstKey', 'secondKey'];
    ...
}

使用主键查找记录

<?php
...
// Returns model instance or null
$user = User::find([
    'key_1' => $key1,
    'key_2' => $key2,
]);
...
// Throws ModelNotFoundException
$user = User::findOrFail([
    'key_1' => $key1,
    'key_2' => $key2,
]);
...

该包的主要思想是允许 Laravel 项目在 Eloquent 官方不支持复合主键的情况下在模型中使用复合键(见 https://laravel.net.cn/docs/8.x/eloquent#composite-primary-keys)。

许可证

MIT