gpt4 book ai didi

ruby-on-rails - 创建一个根据子类的属性排序的对象数组

转载 作者:行者123 更新时间:2023-12-04 05:31:05 26 4
gpt4 key购买 nike

我有类(class) Job:

class Job < ActiveRecord::Base
has_many :stops
end

Stop 类有一个属性,datetime :arrival time

获取所有作业的数组的简洁方法是什么,并按相关站点的最早到达时间排序?

例如

如果 job_1 有两个站点,一个到达时间为下午 4 点,另一个到达时间为下午 5 点。

job_2 有两站,一站到达时间为下午 3 点,另一站到达时间为下午 6 点。

我需要数组:[job_2, job_1]

我能够实现这一点,但是采用了一种繁琐的方式,涉及循环和临时存储值。

谢谢!

最佳答案

这是个好问题! Francesco 的回答应该是你要去哪里,但如果你更喜欢使用连接而不是子系列,你还有其他一些选择。

Job.includes(:stops).order('stops.arrival_time ASC')

如果您想忽略没有任何停靠点的作业,请将 includes 替换为 joins

关于ruby-on-rails - 创建一个根据子类的属性排序的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30123939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com