是否可以使用include语句在rails中进行模型查询,但只有在出现其他条件时才能使用“include”?
我有这段代码:
@families = Family.find(:all,
:conditions => family_conditions,
:select => 'families.id,families.name',
:include => families_include_array)
因此,只有在families_include_array不为null时才包含include。
答案 0 :(得分:1)
您应该在if语句中添加查询
if families_include_array.is_nil?
@families = Family.find(:all,:conditions => family_conditions, :select => 'families.id,families.name')
else
@families = Family.find(:all,:conditions => family_conditions, :select => 'families.id,families.name', :include => families_include_array)
end
或者您可以将SQL请求创建为字符串,并使用ActiveRecord::Base.connection.execute
<强>更新强>
或者您可以尝试覆盖查找方法
def self.find(*args)
records = super
# Manipulate records
end