optimus/eloquent

该包已弃用且不再维护。作者建议使用 optimus/genie 包。

3.3.5 2023-12-28 13:00 UTC

README

Latest Version Software License Build Status Coverage Status Total Downloads

介绍

Eloquent 的基础仓库类,具有覆盖大多数查询的便捷方法。有助于将您的持久层从业务代码中抽象出来。

献给 Genie

献给世界上最好的(也是唯一)的瓶中精灵。 恭喜你获得自由,我的朋友

安装

Laravel 5.4 及以上版本

composer require optimus/genie ~2.0

Laravel 5.3 及以下版本

composer require optimus/genie ~1.0

实现

示例将使用一个假设的 Eloquent 模型 User

<?php

namespace App\Repositories;

use App\Models\User;
use Optimus\Genie\Repository;

class UserRepository extends Repository
{
    protected function getModel()
    {
        return new User;
    }
}

选项

Genie 已与 Optimus\Bruno 集成。有关更多信息,请参阅 Bruno 文档。所有获取方法的 $options 键采用以下格式

参数 值类型 描述
includes 数组 要预加载的关系数组
sort 数组 排序规则数组,例如 [['key' => 'username', 'direction' => 'ASC']]
filter_groups 数组 请参阅 Bruno 文档
limit 整数 每页行数
page 整数 起始页码(与 limit 一起使用)

注意:如果您使用 Bruno 的控制器,它将自动将请求的查询字符串解析成正确的格式。

API

示例将使用一个假设的 Eloquent 模型 User

get (array $options = [])

获取所有 User

getById ($id, array $options = [])

通过主键获取一个 User

getRecent (array $options = [])

created_at 降序获取 User

getRecentWhere (string $column, mixed $value, array $options = [])

获取满足 $column=$valueUser 行,按 created_at 降序排序

getWhere (string $column, mixed $value, array $options = [])

获取满足 $column=$valueUser

getWhereArray (array $clauses, array $options = [])

通过多个 where 子句([$column1 => $value1, $column2 => $value2])获取 User

getWhereIn (string $column, array $values, array $options = [])

获取满足$column可以是$values中任意值的User

getLatest (array $options = [])

获取最新的User

getLatestWhere (string $column, mixed $value, array $options = [])

获取满足$column=$value的最新User

delete ($id)

通过主键删除User

deleteWhere ($column, $value)

通过$column=$value删除User

deleteWhereArray (array $clauses)

通过多个where子句删除User行 ([$column1 => $value1, $column2 => $value2])

标准

此包符合PSR-1PSR-2PSR-4。如果您发现不符合标准的地方,请通过pull request发送补丁。

测试

$ phpunit

贡献

请参阅CONTRIBUTING以获取详细信息。

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。