coenjacobs/eloquent-composite-primary-keys
最新稳定版本:1.0.0
Composer 安装命令:
composer require coenjacobs/eloquent-composite-primary-keys
包简介
Offers composite primary keys on Eloquent models
README 文档
README
A single trait to implement in your Eloquent models to support composite primary keys. The Laravel Schema builder supports creating composite primary keys, but Eloquent models don't support it.
This package is largely inspired by suggested code on Stack Exchange and has also been released in a package with more than this functionality. I needed a separate package for just this purpose.
IMPORTANT: This is now read-only
I have decided to make this project read-only and not further work on this. There are a bunch of performance related downsides when doing this in Laravel, which make it no longer fun and rewarding for me to work on.
In case you still want to use this functionality in Laravel, you can have a look at the LaravelTreats package which contains similar functionality.
Install
Install this package through Composer:
composer require coenjacobs/eloquent-composite-primary-keys
Make sure you have a database schema that supports composite primary keys, for example via a migration:
Schema::create('products', function (Blueprint $table) { $table->integer('first_key'); $table->integer('another_key'); $table->primary(['first_key', 'another_key']); $table->timestamps(); });
Use the trait on the Eloquent model you wish to have composite primary keys on:
namespace App; use Illuminate\Database\Eloquent\Model; use CoenJacobs\EloquentCompositePrimaryKeys\HasCompositePrimaryKey; class Product extends Model { use HasCompositePrimaryKey;
Next, you set the $primaryKey property on your Eloquent model to an array containing the field names that together form your composite primary key:
protected $primaryKey = array('first_key', 'another_key');
统计信息
- 总下载量: 85.73k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 35
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-10-23