1

我有两个独立的有许多通过一个关系指向相同的对象。

  • 用户通过 photo_relationships 拥有许多照片
  • 用户通过投票有很多照片

在我的控制器中,我试图通过以下代码为用户显示所有照片:

@user = User.find(params[:id])
@photos = @user.photos

但是,Inner Join 由 User 模型中最后提到的任何 has_many 关系控制,在本例中为投票。有没有办法指定使用什么内部连接,例如:

@photos = @user.photos( joins: :photo_relationships)
4

1 回答 1

0

做这样的事情:

class User
  ...
  has_many :voted_photos,        class_name: 'Photo', through: :votes
  has_many :relationship_photos, class_name: 'Photo', through: :photo_relationships
end
于 2013-03-04T19:36:25.450 回答