0

「User.friends」を通じてユーザーのすべての友達を取得できるacts_as_network gemを使用しています

イベントレコードを検索して、すべての友達の最近のすべてのイベントを表示する「友達フィード」を作成したいと思います。

  Event  | giver_id | receiver_id | date |

概念的には、これを実行できるようにしたいと考えています。

feed = Events.giver_id_or_receiver_id_in(User.friends).date_gt(Date.today.2.weeks.ago)

これにより、giver_id または receiver_id のいずれかが、過去 2 週間に作成されたフレンドの配列 (User.friends) にあるすべてのイベントの配列が得られます。

これどうやってするの?

4

1 に答える 1

0

IN クエリは次のように実行できます: where(:giver_id => array)

だから私はあなたが次のようなことができると思います:

scope :party_in, lambda {|friends| where(:giver_id => friends) | where(:receiver_id => friend) }

次に、スコープをクエリの残りの部分と連鎖させることができます。

feed = Events.party_in(User.friends).date_gt(Date.today.2.weeks.ago)
于 2011-03-26T04:15:24.410 に答える