0
我正在基于引用另一个表的字段进行排序(并在其他表的“名称”字段上排序)。问题是,当我的第一组对象有一些条目不具有对另一个的引用时,该条目将从排序中排除。RoR:搜索逻辑:我如何进行左连接,而不是默认的左内连接?
所以..简而言之,我有一列是对另一个表的引用(并对该表中的列进行排序),但我也希望包含空引用。
我正在基于引用另一个表的字段进行排序(并在其他表的“名称”字段上排序)。问题是,当我的第一组对象有一些条目不具有对另一个的引用时,该条目将从排序中排除。RoR:搜索逻辑:我如何进行左连接,而不是默认的左内连接?
所以..简而言之,我有一列是对另一个表的引用(并对该表中的列进行排序),但我也希望包含空引用。
我不是100%肯定我明白你的问题,但是,例如,当你写一个named_scope你可以通过选择这样的:
named_scope descend_it_by_that_other_column,
:select => "",
:joins => "LEFT JOIN ...",
:conditions => "..."
另一个例子:
def my_fancy_method_returning_things
association_name.all :limit => 5, :joins => 'LEFT JOIN ... ON ... = ...', :order => ...'
end
啊,我没有想到覆盖命名的范围。我会稍微尝试一下。谢谢。 – NullVoxPopuli
如果你在你的参数中使用了searchlogic并且有类似的东西: “search”=> {“order”=>“ascend_by_rating”}那么searchlogic将会使用名为scope的ascend_by_rating。我希望这有帮助 :) – socjopata