首页 > 解决方案 > 在哪里放置用于检索过滤数据的代码?

问题描述

我需要实现按位置、服务、提供商和这些的各种组合搜索预订空档可用性的功能。

这些将需要一些查询和大量 if / else 条件

这段代码应该去哪里?

  1. 模型
  2. 类接口和实现
    1. 应该有一个或多个实现
    2. 在这种情况下使用服务提供商是否有帮助?
  3. 存储库

此外,各种控制器的方法将取决于此可用性结果。

请建议我处理这个问题的最佳方法?任何细节或路线图都会非常有帮助。

标签: laravel

解决方案


存储库是编写数据库交互代码的最佳位置,但如果您在多个模型或存储库上使用相同的过滤器,您可以创建一个基本存储库并在您自己的存储库中使用它。这是您的第一个解决方案。

第二件事,您可以为高级查询创建一个类。您可以检查下面提到的链接中显示的内容,这也是使您的代码清晰和简单的好方法。

https://m.dotdev.co/writing-advanced-eloquent-search-query-filters-de8b6c2598db


推荐阅读