Laravel 数组过滤
Posted
技术标签:
【中文标题】Laravel 数组过滤【英文标题】:Laravel array filtering 【发布时间】:2021-12-09 06:23:15 【问题描述】:开发人员,我正在编写一份报告,我必须根据来自前面的日期范围的某些条件显示公司排名。例如:上周,我已经做到了,但现在我想显示某家公司在多少周内处于同一级别。如果我检查过去一周,我必须检查从年初开始每周的排名。如果上周第一位置的公司和其他周的第一位置公司相同,我将计数相应增加。当我使用 for 循环查询每周的数据时,处理和显示数据大约需要 42 秒。此外,我尝试从一年的第一周到当前周获取整个数据,然后过滤数组,但这也需要很长时间。任何人都可以提出任何其他想法来克服这个问题吗?提前致谢。
【问题讨论】:
请添加一些您尝试过的代码 【参考方案1】:据我了解您的问题 - 那么聚合数据的存储应该对您有所帮助。
-
在数据库中创建一个表,假设是“archive_rating”,其中包含 3 个字段:week_number(从 2000 年 1 月 1 日开始)、company_id、company_position 在您的评分中。不要忘记 week_number 字段的索引。
在每周一的 00:00:00,运行后台任务,将每个公司的职位保存到存档表中。
这将使您无需从年初开始计算每周的评分。你已经拥有它了。
【讨论】:
以上是关于Laravel 数组过滤的主要内容,如果未能解决你的问题,请参考以下文章