ActiveRecord
テーブルから非ID列で検索したい。コードサンプルを提供するときに、これが明確であることを願っています。
class CoachClass < ActiveRecord::Base
belongs_to :coach
end
class Coach < ActiveRecord::Base
has_many :coach_classes, :foreign_key => 'user_name'
end
私がするとき
coach_obj.coach_classes
、これは正しくトリガーします
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 2)
(2は私の問題であるそのコーチがid
ここにいることです。)
トリガーしたい
SELECT * FROM `coach_classes` WHERE (`coach_classes`.user_name = 'David')
(「David」はそのコーチですuser_name
)
user_name
は一意であり、両方のテーブルに存在します。
なんらかの理由coach_id
でテーブルに入れたくありません。coach_classes