【发布时间】:2015-03-05 22:38:34
【问题描述】:
我已经看过很多 $repo->findAll() 或 $repo->findById($id)examples,但我正在寻找如何在此基础上进行扩展以实现更复杂的读取。
例如,假设我有一个数据网格,它表示一个 SELECT 查询,其中包含多个 JOIN。我需要做这些事情:
- 排序
- 过滤(
WHERE条件,其中一些发生在查询的JOIN子句上) - 列(我不想
SELECT *,所以我需要指定我想要的字段) - 限制(分页)
- 计数(我需要知道所有页面的总行数。也许我在单独的 repo 方法/查询中执行此操作。)
我不确定我是否愿意使用现有的 查询构建器 包,因为我不确定它的可测试性和与数据库无关(换句话说,它可能是 太灵活了)。我知道我不想在这个项目中使用 ORM。我正在使用 Data Mapper + Repository 方法。
我将如何使用存储库模式来做到这一点?
【问题讨论】:
标签: php mysql repository-pattern laravel-5