jeidison/composite-key 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jeidison/composite-key

Composer 安装命令:

composer require jeidison/composite-key

包简介

Laravel composite key

README 文档

README

==========

The problem

Eloquent doesn't support composite keys.

Installation

$ composer require jeidison/composite-key

Usage

Add Trait of your model

namespace App;

use Illuminate\Database\Eloquent\Model;

class MyClass extends Model
{
    use Jeidison\CompositeKey\CompositeKey;
    
    ...
}
  • Find
    public function index()
    {
        $modelX = ModelX::find(1);
        // or 
        $modelX = ModelX::find(['c1' => 1, 'c2' => 2]);
    }
  • FindOrFail
    public function index()
    {
        $modelX = ModelX::findOrFail(1);
        // or 
        $modelX = ModelX::findOrFail(['c1' => 1, 'c2' => 2]);
    }
  • FindMany
    public function index()
    {
        $modelX = ModelX::findMany([['c1' => 1, 'c2' => 2]]);
        // or 
        $modelX = ModelX::findMany([['c1' => 1, 'c2' => 2], ['a1' => 1, 'a2' => 2]]);
    }
  • Model Fresh
    public function index()
    {
        $modelX      = ModelX::find(1);
        $freshModelX = $modelX->fresh();
    }
  • Model Refresh
    public function index()
    {
        $anyWhatever      = Anything::find(1);
        $freshAnyWhatever = $anyWhatever->refresh();
    }
  • Model Delete
    public function index()
    {
        $modelX = ModelX::find(1);
        $modelX->delete();
    }
  • Model Destroy
    public function index()
    {
        $count = ModelX::destroy(['c1' => 1, 'c2' => 2]);
        // or 
        $count = ModelX::destroy([['c1' => 1, 'c2' => 2], ['a1' => 1, 'a2' => 2]]);
    }
  • FirstOrCreate
    $modelX = ModelX::firstOrCreate(['name' => 'Test 10']);
    
    $modelX = ModelX::firstOrCreate(
        ['name' => 'Test 10'],
        ['delayed' => 1, 'arrival_time' => '11:30']
    );
  • FirstOrNew
    $modelX = ModelX::firstOrNew(['name' => 'Test 10']);
    
    $modelX = ModelX::firstOrNew(
        ['name' => 'Test 10'],
        ['delayed' => 1, 'arrival_time' => '11:30']
    );
  • IncrementOrDecrement
    // Not implemented
  • Eloquent\Collection::find
    // Not implemented
  • Eloquent\Collection::fresh
    // Not implemented
  • Authenticatable::getAuthIdentifierName
    // Not implemented
  • Authenticatable::getAuthIdentifier
    // Not implemented
  • Model::getRouteKey
    // Not implemented
  • Model::getRouteKeyName
    // Not implemented
  • SerializesAndRestoresModelIdentifiers
    // Not implemented

Authors

License

composite-key is licensed under the MIT License.

统计信息

  • 总下载量: 12.8k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-10-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固