型号User
和Article
。
在文章模型关系中定义belongs_to :user
。在用户模型关系中定义has_many :articles
当我触发下面的查询时,给出成功的结果
Article.select(:name, :id).where(user_id:"fb157fc-a9353453cb95", name:"first")
字符串
但是当我触发下面的查询时,它给出一个错误
Article.select(:name, :id).where("user_id (?)","1bf4c2fc-35c37e15d4b5")
型
错误ActiveRecord::StatementInvalid HINT: No function matches the given name and argument types. You might need to add explicit type casts.
但是当我触发下面的查询时,它也会给出一个错误
Article.select(:name, :id).where("articles.user_id (?)","1bf4c2fc-35c37e15d4b5")
型
错误ActiveRecord::StatementInvalid
4条答案
按热度按时间kcwpcxri1#
我想你可能在寻找
IN
查询,所以它的语法是:字符串
它将使sql查询像这样,
型
如果你正在寻找一个
user_id
在哪里块查询,那么它的语法将是:-型
它将使SQL查询像这样:
型
希望上面的两个查询能让你清楚地区分搜索多个user_id和一个user_id的IN。
liwlm1x92#
我相信这就是你要找的
字符串
活动记录将第一个参数作为条件字符串,任何其他参数将替换其中的问号(?)。
vxbzzdmp3#
您缺少
=
。请尝试:字符串
我以为你会做些更像是:
型
如果你不需要结果是一个包含
Article
示例集合的ActiveRecord::Relation
,你可以这样做:型
这将给予您一个
arrays
的array
。我相信这会快一点,因为您没有示例化ActiveRecord对象。但是,这完全取决于您的需要。vnzz0bqm4#
尝试以下测试
字符串
希望帮助