返回自引用的源对象 has_many, :through
这是我的用户模型:
class User < ActiveRecord::Base
has_many :friends, :class_name => 'Friendship', :dependent => :destroy
end
这是我的友谊模型:
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, :class_name => 'User', :foreign_key => 'friend_id'
set_table_name :users_users
end
好的。因此,现在我的应用程序中实际上没有需要友谊对象的场景。例如,当我调用 User.find(1).friends 时,我不希望返回友谊对象数组。我实际上想要用户对象。
因此,当我调用 User.find(1).friends 时,如何使其返回 User 对象?
Here's my User model:
class User < ActiveRecord::Base
has_many :friends, :class_name => 'Friendship', :dependent => :destroy
end
Here's my Friendship model:
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, :class_name => 'User', :foreign_key => 'friend_id'
set_table_name :users_users
end
Ok. So there isn't actually a scenario in my app right now where I need a friendship object. When I call User.find(1).friends, for example, I don't want an array of friendship objects to be returned. I actually want user objects.
THEREFORE, when I call User.find(1).friends, how can I make it return User objects?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你确定你不想要这个吗?
完成此操作后,User.find(1).friends 将返回用户数组,而不是友谊数组。
Are you sure you don't want this?
With this in place, User.find(1).friends will return an array of Users, not Friendships.