我目前正在使用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將查詢放入模型中。
我覺得我現在的方法可能是正確的我只是想看看是否有人可以明確地告訴我哪個是最好的 - 如果沒有,我用自定義方法填充模型沒有太大意義需要。