gpt4 book ai didi

ruby-on-rails - 其中(:sku => 'sku123' ) vs where ('sku =

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:35 27 4
gpt4 key购买 nike

我有一个奇怪的情况。这是我的模型:

UpcCode

=> UpcCode(id: integer, Upc: string, Sku: string, Active: boolean, created_at: datetime, updated_at: datetime)

如您所见,Sku 是我的专栏之一。

当我在 IRC 中输入时:

UpcCode.where(:Sku => 'SKU123').first

我得到了预期的结果:

UpcCode Load (0.9ms) SELECT "upc_codes".* FROM "upc_codes" WHERE "upc_codes"."Sku" = $1 ORDER BY "upc_codes"."id" ASC LIMIT 1 [["Sku", "GC-115-42"]] => #<UpcCode id: 95, Upc: "70163098XXXX", Sku:
"SKU123", Active: true, created_at: "2016-05-11 03:12:11",
updated_at: "2016-05-11 03:12:11">

但是当我尝试使用以下语法时:

UpcCode.where("Sku = 'SKU123'").first

UpcCode.where('Sku = "GC-115-42"').first

我收到以下错误,就好像 Sku 列不存在一样。

UpcCode Load (5.2ms) SELECT "upc_codes".* FROM "upc_codes" WHERE (Sku = "GC-115-42") ORDER BY "upc_codes"."id" ASC LIMIT 1 ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "sku" does not exist

我需要能够使用第二种语法,因为我需要操纵结果。即不区分大小写的比较。

最佳答案

所有不在双引号中的标识符在 PG 中都被转换为小写因此您的列名 Sku 被转换为 sku 所以它给出了这个问题你可以试试这样:

UpcCode.where('"Sku" = ?','SKU123' )

关于ruby-on-rails - 其中(:sku => 'sku123' ) vs where ('sku =,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37153176/

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