olajoscs / repository
一个小的仓库层。
1.0.0
2017-04-01 11:13 UTC
Requires
- php: >=5.5.0
- olajoscs/querybuilder: *
Requires (Dev)
- phpunit/phpunit: ^5.3.0
This package is not auto-updated.
Last update: 2024-09-29 02:59:58 UTC
README
这是一个基于QueryBuilder包的极简模型/仓库包。最低要求:PHP 5.5+,需要QueryBuilder的要求。
模型
要创建一个由仓库处理的模型,只需扩展Model类。
use OlajosCs\Repository\Model;
class MyModel extends Model {}
然后模型中必须定义3个方法
- validate(): 返回void,当对象不完全准备好放入数据库时应抛出ValidationExcpetion异常。
- static getTableName(): 返回string,数据库表的名称,与模型相关。
- static getIdField(): 返回string,定义数据库表中ID字段的名称。
仓库
要创建一个处理模型对象的仓库,只需扩展Repository类。
use OlajosCs\Repository\Repository
class MyObjectRepository extends Repository {}
只有一个方法必须定义
- getModelClass(): string,返回模型类的名称。(MyModel::class)
功能
- create(): 返回一个新空模型
- get($id): 返回一个具有ID $id的模型。如果不存在,则抛出异常。
- getOrNew($id): 返回一个具有ID $id的模型。如果不存在,则返回一个新的空模型。
- getList(): 返回数据库中所有模型数组。
- save(Model $model): 将模型保存到数据库中。创建或更新。
- delete(Model $model): 从数据库中删除模型。
- getWhereIdIn(array $ids): 返回一个数组,包含数组中列出的ID的模型。
- getWhereIdInWithKeys(array $ids): 与getWhereIdIn($ids)相同,但返回数组的键是模型的ID。