0
私はUserモデルとUserReferralモデル(簡略化)を持っています。has_many:throughテーブルを2つ持つ外部キー
基本的に、あるユーザーは他のユーザーを参照することができ、私はそれを記録します。しかし、1人のユーザーは1人のユーザーしか参照できません。私が最初にユーザーが(空でもよい)と呼ばれたことをすべてのユーザーを返すようにUser.first.converted_usersを言うことができるようにしたい
User:
id
....
UserReferral:
id
user_id #the person initiating the referral
reffered_user_id #the person that got the referral
私もUser.firstを言うことができるようにしたいです。最初のユーザーを参照した単一のユーザーを返すためにrefering_user(ゼロにすることができます)。
は現在、私はユーザーにあります。
has_many :user_referrals
has_many :converted_users, through: :user_referrals, source: :user
そしてUserReferralで
:私は団体の様々な組み合わせを試してみたbelongs_to :user
has_many :users, primary_key: 'reffered_user_id', class_name: 'User'
は、任意の助けをいただければ幸いです。私は他のいくつかの答えを読んだが、彼らはすべて私が必ずしも必要とは思わない3番目の結合テーブルを含んでいた。