codiliateur/laravel-model-extensions 问题修复 & 功能扩展

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

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

codiliateur/laravel-model-extensions

最新稳定版本:v1.0.1

Composer 安装命令:

composer require codiliateur/laravel-model-extensions

包简介

Any extensions for Eloquent/Model

README 文档

README

Installing

To install package use composer

composer require codiliateur/laravel-model-extensions

"Composite" Primary Keys

If your table has a composite primary key, you can create model from \Codiliateur\LaravelModelExtensions\Database\Eloquent\CompositeKeyModel

For example:

namespace App\Models\Bookings;

use Codiliateur\LaravelModelExtensions\Database\Eloquent\CompositeKeyModel; 

class BoardingPass extends CompositeKeyModel
{
    protected $primaryKey = [
        'ticket_no',
        'flight_id',
    ];
}

To define composite primary key add property $primaryKey as array of key columns. Adding definition $autoincrementing = false is not required.

Operating with composite key model

Now, to find any model using find(), you must specify a composite key value as an argument (an array of key column values) instead of a single scalar value.

BoardingPass::find(['0005435189117', 198393])

To get multiple models using "find()" or "find Many()", specify an array of composite keys

BoardingPass::find([["0005435189117", 198393], ["0005435189096", 198393]])

or

BoardingPass::findMany([["0005435189117", 198393], ["0005435189096", 198393]])

To get a model's composite key use getKey()

    $boardingPass = BoardingPass::find(['0005435189117', 198393]);
    $boardingPass->getKey();
    
    > ['0005435189117',198393]

Other methods of the model work as before.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-08-29