我目前正在使用lumen创建一个API,我并不完全有信心应该将数据库查询放在哪里。我使用Repository模式,目前我的布局就像这样:使用存储库模式将Laravel查询放在哪里
- 控制器加载自定义库
- 库方法包含雄辩查询并返回结果。
Controller --> Custom Repository --> Model
Controller <-- Custom Repository <-- Model
- 的我当前如何做一个高层次的代码示例:
Controller.php这样
public function browse()
{
// customRepo added via dependency injection
$this->customRepo->browse()
}
customRepo.php
public function browse()
{
// other logic here
return Member::where('active', 1)->orderBy('date', 'desc')->get()
}
我使用Eloquent来查询数据库,目前所有这些调用都发生在Repository中,这对我来说有点奇怪,因为我的Repositories填充了Eloquent(和一些查询生成器)查询我从几个来源看到它是not correct将查询放入模型中。
我觉得我现在的方法可能是正确的我只是想看看是否有人可以明确地告诉我哪个是最好的 - 如果没有,我用自定义方法填充模型没有太大意义需要。