1
私は2つのテーブル、製品、コードを持っています。商品にはcode_str列があります。 products.code_str列の最初の2文字を使用して、製品からコードを見つけることができます。私はこのような何かを試みた:外部キーが列ではなくSQL関数である可能性はありますか?
class Product < ActiveRecord::Base
belongs_to :code, foreign_key: "substring(products.code_str from 1 for 2)", primary_key: :number
end
しかし、それは動作しません。私は将来的にいくつかの熱心な読み込みを使いたいので、何かの代わりにbelongs_toの関連付けをすることを考えました。
アイデア?
含ん使用した場合のクエリが遅い:
は長所:
短所を含めて各を見つけて動作します遠いしかし、パフォーマンスの影響はそれに値するものではありません。ありがとう! – Lonecat