Kam*_*i81 35 ruby ruby-on-rails
例如,我想按game_date排序,然后如果日期相同,按团队排序?最好的方法是什么?
@teams = @user.teams
@games = @teams.reduce([]) { |aggregate, team| aggregate + team.games}.sort_by(&:game_date)
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 99
最好的方法是让你的数据库这样做,但如果你想使用Ruby:
@games = @data.sort_by {|x| [x.game_date, x.team] }
Run Code Online (Sandbox Code Playgroud)
排序行为Array
是按第一个成员排序,然后排序第二个,然后排序第三个,依此类推.由于您希望将日期作为主键,将团队作为第二个,因此这两个数组将按您希望的方式排序.
dem*_*mas 25
@teams = @user.teams
@games = @teams.games.order("game_date ASC, team ASC")
Run Code Online (Sandbox Code Playgroud)
@teams = @user.teams
@games = @teams.games.order(game_date: :asc, team: :asc)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27935 次 |
最近记录: |