- 私たちのデータベースの1つのレコードは、人物Aが人物Bに贈り物をする頻度を追跡します。
- 私たちのデータベースの別のレコードは、人物Bが人物Aに贈り物をする頻度を追跡します。
- 別のレコードは、人物Aが人物Cに何かを与える頻度を追跡します。
- 人物Cは人物Aに何も与えたことがないので、その記録はありません。
- そのパターンに、Aが関係を与えたり受けたりしている50人を掛けます。
usersテーブルには「id」と「name」があります
ギフトテーブルには「giver_id」と「receiver_id」があります
profile_picturesには「user_id」と「picture_url」があります
ユーザーモデル:
has_one :profile_picture
has_many :gifts
プロフィールの写真:
belongs_to :user
ギフトモデル:
belongs_to :user
データベースからアレイを一度プルするのに問題があります。配列は名前でアルファベット順に並べる必要があります。私は始めました:
parties = Gift.where("giver_id = ? || receiver_id = ?", current_user.id, current_user.id)
そして、逆方向に作業しようとしました。プロフィール写真を含むすべてのユーザーを取得して、Gifts配列にマップしようとしました。私はそれを機能させることができませんでした。
ご協力ありがとうございました。
更新:テストデータの現在の結果:
Clower, Steve
Gallipert, Jay
Gallipert, Erin
Gallipert, Jay
Gallipert, Jay
Gallipert, Linda
Gallipert, Jay
Gallipert, Erin
Gallipert, Jay
Garrent, Kara
Gallipert, Jay
Atkal, Andrew
Gallipert, Jay
Dystrom, Paul
Gallipert, Jay
Clower, Steve
Gallipert, Linda
Gallipert, Jay
Garrent, Kara
Gallipert, Jay
必要なもの:
Atkal, Andrew
Clower, Steve
Dystrom, Paul
Gallipert, Erin
Gallipert, Jay
Gallipert, Linda
Garrent, Kara
これを行う唯一の方法は
- すべての名前を1つの配列にダンプします
- Rubyで配列を並べ替える
- ソートされた配列を使用してデータベースを再クエリし、プロファイル画像を取得します