我正在使用一个预先存在的数据库,其中表的primary_key是整数,它在另一个表中用作foreign_key但是作为字符串。 我想要查询:
SELECT * FROM crcec WHERE crcecoper = 12183
而不是:
SELECT * FROM crcec WHERE crcecoper = '12183'
如果没有引号,查询效果很好,但是:
ifx_credit = IfxCredit.find(12183)
ifx_credit.ifx_previsions
它将单引号放在id。
上型号:
class IfxCredit < ActiveRecord::Base
establish_connection :informix
self.pluralize_table_names = false
self.table_name = "prmpr "
self.primary_key = "prmprnpre"
has_many :ifx_previsions, -> { order "crcecfech" }, class_name: "IfxPrevision", foreign_key: "crcecoper"
end
class IfxPrevision < ActiveRecord::Base
establish_connection :informix
self.pluralize_table_names = false
self.table_name = "crcec "
self.primary_key = "crcecoper"
belongs_to :ifx_credit, class_name: "IfxCredit", foreign_key: "crcecoper"
end
primary_key是“prmprnpre”,foreign_key是“crcecoper”。提前谢谢,抱歉我的英语不好。
例如,“crcec”在“crcecoper”字段中有以下数据:"0000012133"
"0000012143"
"0000012163"
"0000012173"
"0000012183"
“prmpr”在“prmprnpre”字段中包含以下数据:
12133
12143
12163
12173
12183
因此,查询不适用于引号。