thiagoprz / eloquent-composite-key
Eloquent 复合键支持包
1.0.1
2022-04-20 19:12 UTC
Requires
- php: ^7.1 || ^8.0 || ^8.1
Requires (Dev)
- orchestra/testbench: 6
- squizlabs/php_codesniffer: 4.0.x-dev
This package is auto-updated.
Last update: 2024-09-24 02:42:20 UTC
README
该包用于在 Eloquent 模型上启用复合键支持。
安装
使用 composer 安装
composer require thiagoprz/eloquent-composite-key
使用方法
定义 primaryKey 为数组,并在你的模型类中使用 HasCompositeKey trait。
<?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)。