optimus / eloquent
Requires
- illuminate/database: >=4.0
- optimus/bruno: ~3.0|~4.0|~5.0|~6.0|~7.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.7
- satooshi/php-coveralls: dev-master@dev
README
介绍
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=$value
的 User
行,按 created_at
降序排序
getWhere (string $column, mixed $value, array $options = [])
获取满足 $column=$value
的 User
行
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-1、PSR-2和PSR-4。如果您发现不符合标准的地方,请通过pull request发送补丁。
测试
$ phpunit
贡献
请参阅CONTRIBUTING以获取详细信息。
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。