1
我想制定一個複雜的SQL查詢(在Rails 3)訪問屬於用戶的追隨者的照片對象。Rails複雜的SQL屬於用戶的追隨者對象
的情況是:
- 用戶A 500米的追隨者
- 每個跟隨有500張照片
- 我想生成(使用will_paginate)10張照片同時基於該進行分頁查詢他們的創建日期並將其返回給用戶A
因此,這基本上就像將所有追隨者的照片收集到一個集合中,根據照片創建日期對集合進行排序,然後對結果進行分頁,一次只返回10張照片。這可能意味着最近的10張照片來自多個追隨者。
我對這個兩個問題:
- 你將如何有效地制定這樣一個複雜的查詢? (我對Rails比較新,所以我不太瞭解自定義查詢)。
- 有沒有理由不這樣做?例如,如果用戶有1000個關注者,每個關注者擁有10,000張照片,是否會出現延遲問題?
在User.rb
文件的關係進行建模爲:
has_many :following, :through => :relationships, :source => :followed
has_many :followers, :through => :reverse_relationships, :source => :follower
has_many :photos, :dependent => :destroy, :order => 'created_at DESC'
其中一個追隨者/以下是另一個用戶。
感謝您提供任何指導!非常感謝! :)
不幸的是,這不會爲我工作,因爲它不斷要求來源 – iwasrobbed 2011-05-14 14:32:24