我有两个模型:LittleClassLittleClassSessionLittleClassSession belongs_to LittleClass像这样:

class LittleClassSession < ActiveRecord::Base
  belongs_to :little_class
...


我试图在LittleClassSession模型内部创建一个命名作用域,该作用域仅选择where行和LittleClass某些列是某个值。像这样:

  scope :class_type_only, -> (class_type_id) {
    joins(:little_class)
    .where('little_class_type_id = ?', class_type_id)
  }


在上面的示例中,little_class_type_idLittleClass上的列。没有引发任何错误,但是结果不正确。我是否正确完成了加入?我究竟做错了什么?

最佳答案

尝试这个:

scope :class_type_only, -> (class_type_id) {
  joins(:little_class)
  .where(:little_class => {:little_class_type_id => class_type_id})
}

关于mysql - 在Rails中查询关联模型的正确语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32834635/

10-10 19:35