ruby-on-rails - Rails,如何通过created_at 对事件记录数组进行排序

标签 ruby-on-rails sorting activerecord

嗨,我有两个数组,它们具有来自同一个表的事件记录的不同值但具有不同的值,我想将它们组合起来,然后按 created_at 对它们进行排序,但没有得到任何线索,我被卡住了。
请帮忙。
这是我的代码:

@find_user = EmployeeLeave.where(global_user_id: @allarray[i]).find(:all)
@all << @find_user
@find_referal_user = EmployeeLeave.where(referral_id: @allarray[i]).find(:all)
@all_entry << @find_referal_user
@total = @all + @all_entry
任何事情都不起作用,请帮我整理 @total .

最佳答案

您可以使用 sort_by 对数组进行排序。

在您的情况下,您可以执行以下操作:

@total.sort_by(&:created_at)

更新:
  • 删除@all << @find_user 和@all_entry << @find_referal_user
  • 为什么?因为否则你会有一个包含多个数组的数组
  • 将@total 替换为:@total = @find_user + @find_referal_user
  • 为什么?因为@total 现在只包含一个包含所有对象的合并数组,准备通过 .sort_by(&:created_at) 进行排序。
  • 关于ruby-on-rails - Rails,如何通过created_at 对事件记录数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18848564/

    相关文章:

    javascript - 如何使用 Selectize.js 从完整表格中进行选择?

    CSS/SASS : Media Queries not being read/seen

    linux - 如何在 linux 中每第 n 行对数据进行排序?

    linux - 在密码文件linux中排序

    ruby-on-rails - Rails 3.2 查询 - .exists?

    ruby-on-rails - Where(Hash) 后跟 ActiveRecord 中的 Scoped Where(Hash)

    ruby-on-rails - 我怎么知道使用了多少 ActiveSupport Duration?

    java - 如何让TableSorter将一行保持在固定位置?

    php - Yii2 事件记录中按查询等效的 MySQL 复杂顺序

    ruby - 二级数组排序,其中一个二级数​​组成员始终在顶部