gpt4 book ai didi

ruby-on-rails - find 和Where 与关系之间的区别

转载 作者:行者123 更新时间:2023-12-03 00:47:28 25 4
gpt4 key购买 nike

我认为事件记录和查找数据没有区别。

这是我的模型

class User < ActiveRecord::Base
has_many :shows
end

class Show < ActiveRecord::Base
belongs_to :user
end

当我使用 Rails 控制台时,我可以执行以下操作并且它有效。

u = User.find(1)
u.shows

它为我提供了该用户的所有节目。

但是当我这样做时

u = User.where("username = ?", "percent20")
u.shows # this is doesn't work gives me a now instance error

我得到了相同的用户和相关信息,但没有得到关系。我能看到的唯一问题是我可能做错了什么,因为 where 和 find 之间存在一些差异。

感谢任何帮助。

最佳答案

问题不在于关系。

 u = User.find(1) 

返回一个用户

 #return a Set of users. In your case its only one user.
u = User.where("username = ?", "percent20")

结果类型为 ActiveRecord::Relation --> [User, User, User]

使用例如首先获得第一个用户

 #returns the first user
u = User.where("username = ?", "percent20").first

u.class.name=>“用户”

关于ruby-on-rails - find 和Where 与关系之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com