说我有两个表,Parent并Child和他们两个都称为一个字段name,如果我这样做:
Parent.join(:child).group(:name)
我会收到一个错误,说明该领域存在歧义name.我可以做以下事情
Parent.join(:child).group('parents.name')
要解决它,但我更愿意使用符号,如果可能的话.那么,是吗?
小智 1
可以重新定义范围自动添加表名前缀
class Parent < ActiveRecord::Base
class << self; alias_method :old_group, :group; end
scope :group, lambda { |g|
old_group("#{table_name}.#{g}")
}
end
Parent.join(:child).group(:name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
853 次 |
| 最近记录: |