gpt4 book ai didi

ruby-on-rails - Ruby .where 查看数组是否包含与查询不匹配的结果。

转载 作者:数据小太阳 更新时间:2023-10-29 08:46:07 26 4
gpt4 key购买 nike

我正在尝试查询一组注册。每个 Signup 上都有一个字段 twitter

该字段是一个数组,目前只会有两项,但也可以只有一项。调用 Signup.twitter 的三种可能输出是:

Signup.twitter => ["No Twitter", "randomhandle"]

Signup.twitter => [“无推特”]

Signup.twitter => ["randomhandle"]

我正在尝试使用 .where 查询只返回具有 randomhandle 的句柄。如果他们返回 ["No Twitter", "randomhandle"] 不过,我仍然希望归还该记录。

必须感谢任何帮助,

谢谢。

最佳答案

尝试数组搜索方法,例如 find_all(select 相同)或 reject(http://ruby-doc.org/core-2.2.0/Enumerable.html#method-i-find_all)

完全同意前面的回答,但我会以“积极”的方式而不是“消极”的方式来做,以保持清晰:

Signup.all.find_all do |signup|
# Use Array.wrap or protect it from `undefined method for nil class`
"randomhandle".in? Array.wrap(signup.twitter)
end

最终,你可以做任何你想做的事情。

如果 twitter 字段是关联的,您可以直接使用 where:

Signup.where(twitter: Twitter.where(name: "randomhandle"))

检查 http://guides.rubyonrails.org/active_record_querying.html

关于ruby-on-rails - Ruby .where 查看数组是否包含与查询不匹配的结果。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28149495/

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