iphuongtt / genie
Requires
- illuminate/database: >=4.0
- iphuongtt/bruno: ~3.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.7
README
简介
为Eloquent提供基础仓库类,包含覆盖大多数查询的便利方法。有助于将持久化层从业务代码中抽象出来。
献给Genie
献给世界上最优秀(也是唯一)的瓶中精灵。 恭喜你获得自由,我的朋友。
安装
适用于Laravel 5.4及以上版本
composer require iphuongtt/genie ~2.0
适用于Laravel 5.3及以下版本
composer require iphuongtt/genie ~1.0
实现
以下示例将使用一个名为User
的假设Eloquent模型。
<?php namespace App\Repositories; use App\Models\User; use Iphuongtt\Genie\Repository; class UserRepository extends Repository { protected function getModel() { return new User; } }
选项
Genie已与Iphuongtt\Bruno集成。有关更多信息,请参阅Bruno文档。所有get方法的$option键采用以下格式
注意:如果您使用Bruno的控制器,它将自动将请求的查询字符串解析为正确的格式。
API
以下示例将使用一个名为User
的假设Eloquent模型。
get (array $options = [])
获取所有User
行
getById ($id, array $options = [])
通过主键获取一个User
getRecent (array $options = [])
按created_at
降序获取User
行
getRecentWhere (string $column, mixed $value, array $options = [])
按created_at
降序获取满足$column=$value
的User
行
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子句([$column1 => $value1, $column2 => $value2]
)删除User
行
标准
此包符合PSR-1、PSR-2和PSR-4。如果您发现符合性错误,请通过pull request发送补丁。
测试
$ phpunit
贡献
请参阅CONTRIBUTING以获取详细信息。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。