gpt4 book ai didi

ruby-on-rails - Rails - 带零的条件查询?

转载 作者:行者123 更新时间:2023-12-04 06:32:41 25 4
gpt4 key购买 nike

有什么想法这有什么问题吗?

    @contacts = current_user.contacts.where("fname = ? OR lname = ?", nil, nil)

我想要 fname 或 lname 为空的所有联系人。

这是它在日志中显示的内容,不确定为什么没有获取记录。
 Contact Load (0.6ms)  SELECT "contacts".* FROM "contacts" WHERE ("contacts".user_id = 2) AND (fname = NULL OR lname = NULL)

想法?

谢谢

最佳答案

如果你想要空(意味着一个空字符串,但实际上不是空),然后使用一个空字符串:

@contacts = current_user.contacts.where("fname = ? OR lname = ?", "", "")

否则,如果你真的想要空值,你需要使用 is null措辞:
@contacts = current_user.contacts.where("fname is null OR lname is null")

您也可以使用 :lname => nil相反,但该格式不能用于 OR 查询。注意 "lname = ?", nil之间的区别和 :lname => nil :
@contacts = Contact.where("lname = ?", nil).to_sql
# => SELECT "contacts".* FROM "contacts" WHERE (lname = NULL)

@contacts = Contact.where(:lname => nil).to_sql
# => SELECT "contacts".* FROM "contacts" WHERE "contacts"."lname" IS NULL

关于ruby-on-rails - Rails - 带零的条件查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5906639/

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