我正在学习使用Laravel框架。
我遇到了存储库,在几个网站上说是一个很好的开发实践。
我找到了一些帮助在Laravel中实现这种做法的软件包,但是错过了一些功能,但我认为我很难理解逻辑及其好处。
考虑到研究那部分,我创建了一个包,展示了如何思考这个实现,但我还有很多问题。
https://github.com/guilhermegonzaga/repository
例如:
范围和关系应该转移到存储库还是保存在模型中?
如何在存储库中实现类型函数"increment(), decrement()"
?或者在控制器上调用它们是否正确?
$model = $repository->find($id);
$model->increment();
谢谢
答案 0 :(得分:0)
您应该在模型中设置关系:
https://laravel.com/docs/5.1/eloquent-relationships
当您在回购中与模型交谈时,您可以根据需要提取关系信息。增量和减量应该在存储库中完成。
查看这篇快速文章,以便更好地了解您尝试使用存储库模式实现的目标: