如何在默认范围内按相关模型排序?-- 导轨 3.1 [英] How to order by a related model in default scope? -- Rails 3.1

查看:30
本文介绍了如何在默认范围内按相关模型排序?-- 导轨 3.1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何编写以下默认范围:

class SimilarMerchant < ActiveRecord::Base

  # relationships
  belongs_to :merchant
  belongs_to :similar_merchant, :foreign_key => 'similar_merchant_id', :class_name => "Merchant"

  # scopes
  default_scope order('merchants.is_paid DESC').order('score DESC')

end

基本上我想按 merchant.is_paid 字段(属于相关模型)进行排序

Basically I want to sort by a merchant.is_paid field (which belongs to a related model)

有什么建议吗?

推荐答案

试试这个:

default_scope joins(:merchant).order('merchants.is_paid DESC, score DESC')

请记住它可能很慢,具体取决于记录数

这篇关于如何在默认范围内按相关模型排序?-- 导轨 3.1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆