首页 > 解决方案 > 在实现存储库模式时将自定义的 eloquent 方法放在哪里

问题描述

我正在大型 laravel 应用程序中实现存储库模式。我已将几乎所有复杂且可重用的数据库逻辑都放在这些模型存储库中,我觉得它很有帮助且更有条理。所有实体创建、检索等代码现在都存在于这些存储库中。

但我的困惑是:我应该如何处理自定义的 eloquent 方法,例如我有一个带有$model->canPerformXTask(),$model->isActive()等方法的模型$model->hasTooltip()

在某些情况下,我只想使用这些方法在控制器或服务中执行一些逻辑。如果我正在实施存储库模式,我应该如何处理这些?

对此的任何见解都将非常有帮助......

标签: databaselaraveleloquentrepository-pattern

解决方案


我认为这更多的是对每个人的意见答案,关于这个话题的辩论永远不会结束。

但是,Povilas Korop在他的 youtube 频道“Laravel Dialy”上有一个专家回答,他谈到了这个话题。你可以找到它

“Laravel 代码审查:为什么不使用存储库模式?”


推荐阅读