我有2个表格,产品和代码。产品有一个code_str列。我可以使用products.code_str列的前两个字符从产品中找到代码。我尝试过这样的事情:
class Product < ActiveRecord::Base
belongs_to :code, foreign_key: "substring(products.code_str from 1 for 2)", primary_key: :number
end
但它不起作用。我想在将来使用一些急切的加载,所以我想要使belongs_to关联工作而不是其他任何东西。
有什么想法吗?
答案 0 :(得分:0)
有同样的问题。
最后添加:
belongs_to :code, foreign_key: :code_str_id, primary_key: :number
def code_str_id
code_str[0..1]
end
优点:找到每个并使用include
缺点:使用include
时查询速度很慢