目录
回复内容:
首页 后端开发 php教程 多条件多过滤展示结果列表该如何重写?

多条件多过滤展示结果列表该如何重写?

Sep 29, 2016 am 09:33 AM
laravel phalcon php

这个是后台展示订单的列表,基础需求是要求可以在搜索框根据user的相关信息进行搜索,比如user_id,注册的email,也可以在搜索框中根据order的相关信息进行搜索展示,比如order_id,order_type,下单的creat_time范围等。

1、前期为了业务的快速上线,全部东西都是扔在controller里面的,多数是用if..else来做搜索展示,当需求不断增加,比如增加了user_phone,增加order_state订单状态(关闭、进行中)等等的时候又得写if...else,导致controller的这个function不断肥大。

2、不同的查询组别又有不同的查询权限,比如超级管理员能查询到全部用户,卖家只能查询到自己的买家的用户,所以user又是不同。所以这段代码在不同的controller里面不断地复制粘贴。

现在想重构,想把这个搜索功能独立成trait或者是让controller依赖的service? 不知道该如何处理这些搜索的参数,和如果分离,请教一下各位是否有相关的文章,或者书籍、实例对类似的功能做了优化的

~~ 谢谢!

多条件多过滤展示结果列表该如何重写?

回复内容:

这个是后台展示订单的列表,基础需求是要求可以在搜索框根据user的相关信息进行搜索,比如user_id,注册的email,也可以在搜索框中根据order的相关信息进行搜索展示,比如order_id,order_type,下单的creat_time范围等。

1、前期为了业务的快速上线,全部东西都是扔在controller里面的,多数是用if..else来做搜索展示,当需求不断增加,比如增加了user_phone,增加order_state订单状态(关闭、进行中)等等的时候又得写if...else,导致controller的这个function不断肥大。

2、不同的查询组别又有不同的查询权限,比如超级管理员能查询到全部用户,卖家只能查询到自己的买家的用户,所以user又是不同。所以这段代码在不同的controller里面不断地复制粘贴。

现在想重构,想把这个搜索功能独立成trait或者是让controller依赖的service? 不知道该如何处理这些搜索的参数,和如果分离,请教一下各位是否有相关的文章,或者书籍、实例对类似的功能做了优化的

~~ 谢谢!

多条件多过滤展示结果列表该如何重写?

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1253
24
继续使用PHP:耐力的原因 继续使用PHP:耐力的原因 Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

Laravel vs. Python(与框架):比较分析 Laravel vs. Python(与框架):比较分析 Apr 21, 2025 am 12:15 AM

Laravel适合团队熟悉PHP且需功能丰富的项目,Python框架则视项目需求而定。1.Laravel提供优雅语法和丰富功能,适合需要快速开发和灵活性的项目。2.Django适合复杂应用,因其“电池包含”理念。3.Flask适用于快速原型和小型项目,提供极大灵活性。

IIS和PHP的兼容性:深度潜水 IIS和PHP的兼容性:深度潜水 Apr 22, 2025 am 12:01 AM

IIS和PHP可以兼容,通过FastCGI实现。1.IIS通过配置文件将.php文件请求转发给FastCGI模块。2.FastCGI模块启动PHP进程处理请求,提高性能和稳定性。3.实际应用中需注意配置细节、错误调试和性能优化。

如果session_start()被多次调用会发生什么? 如果session_start()被多次调用会发生什么? Apr 25, 2025 am 12:06 AM

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

使用Laravel:使用PHP简化Web开发 使用Laravel:使用PHP简化Web开发 Apr 19, 2025 am 12:18 AM

Laravel优化Web开发流程的方法包括:1.使用路由系统管理URL结构;2.利用Blade模板引擎简化视图开发;3.通过队列处理耗时任务;4.使用EloquentORM简化数据库操作;5.遵循最佳实践提高代码质量和可维护性。

哪些数据库版本与最新的Laravel兼容? 哪些数据库版本与最新的Laravel兼容? Apr 25, 2025 am 12:25 AM

最新版本的Laravel10与MySQL5.7及以上、PostgreSQL9.6及以上、SQLite3.8.8及以上、SQLServer2017及以上兼容。这些版本选择是因为它们支持Laravel的ORM功能,如MySQL5.7的JSON数据类型,提升了查询和存储效率。

作曲家:通过AI的帮助开发PHP 作曲家:通过AI的帮助开发PHP Apr 29, 2025 am 12:27 AM

AI可以帮助优化Composer的使用,具体方法包括:1.依赖管理优化:AI分析依赖关系,建议最佳版本组合,减少冲突。2.自动化代码生成:AI生成符合最佳实践的composer.json文件。3.代码质量提升:AI检测潜在问题,提供优化建议,提高代码质量。这些方法通过机器学习和自然语言处理技术实现,帮助开发者提高效率和代码质量。

Laravel的前端:探索可能性 Laravel的前端:探索可能性 Apr 20, 2025 am 12:19 AM

Laravel可以用于前端开发。1)使用Blade模板引擎生成HTML。2)集成Vite管理前端资源。3)构建SPA、PWA或静态网站。4)结合路由、中间件和EloquentORM创建完整Web应用。

See all articles