के गुणों के आधार पर रेल सॉर्ट प्रविष्टियां मेरे पास एक अजीब परिदृश्य है: मैं उस समय तक सभी पोस्ट ऑर्डर करना चाहता हूं, जिस पर पी के निर्माता और वर्तमान उपयोगकर्ता मित्र बन गए।संबंधित मॉडल
परिणाम नीचे शीर्ष और पुराने मित्रों की पोस्ट पर नए मित्रों की पोस्ट के साथ पोस्ट की एक सूची होगी। हम मान सकते हैं कि सभी उपयोगकर्ता अन्य सभी उपयोगकर्ताओं के मित्र हैं, लेकिन प्रत्येक दोस्ती के निर्माण के समय अलग-अलग होते हैं।
मेरे पास पोस्ट, उपयोगकर्ता और मैत्री मॉडल हैं। पद उपयोगकर्ताओं के हैं और उपयोगकर्ताओं की कई दोस्ती है।
class User < ActiveRecord::Base
has_many :friendships
has_many :friends, :through => :friendships
has_many :inverse_friendships, :class_name => "Friendship", :foreign_key => "friend_id"
has_many :inverse_friends, :through => :inverse_friendships, :source => :user
end
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, :class_name => "User"
end
class Post < ActiveRecord::Base
belongs_to :user
end
ऐसा करने का सबसे अच्छा तरीका क्या है? धन्यवाद! के साथ एक दायरे में
@posts = Post.joins(:user => :friendships).order("friendships.friended_at")
कैसे आप एक गुंजाइश में है कि बारी चाहते हैं? – MicFin