存储库模式的逻辑 laravel

Logic of repository pattern laravel

我正在学习使用 Laravel 框架。

我遇到了存储库,在几个网站上说是开发的好实践。

我在 Laravel 中找到了一些有助于实现此实践的软件包,但遗漏了一些功能,但我认为我未能很好地理解其中的逻辑及其好处。

考虑研究那部分,我创建了一个包来说明如何思考这个实现,但我还有很多问题。

https://github.com/guilhermegonzaga/repository

例如:

范围和关系应该转移到存储库还是保留在模型中?

如何在版本库中实现类型函数"increment(), decrement()"?或者在控制器上调用它们是否正确?

$model = $repository->find($id);
$model->increment();

谢谢

您应该在模型中设置关系:

https://laravel.com/docs/5.1/eloquent-relationships

当您从存储库中与模型对话时,您可以根据需要提取关系信息。增量和减量应该在存储库中完成。

查看这篇快速文章,以更好地了解您尝试使用存储库模式实现的目标:

http://culttt.com/2014/09/08/benefits-using-repositories/