有没有办法在Rails中的has_many关系查询中删除varchar单个cuotes?

时间:2017-05-09 16:21:31

标签: sql ruby-on-rails

我正在使用一个预先存在的数据库,其中表的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

因此,查询不适用于引号。

0 个答案:

没有答案