簡體   English   中英

PostgreSQL Ruby Heroku 問題

[英]PostgreSQL Ruby Heroku Problems

此搜索條件在 MySQL 和 SQLite 中工作正常,但在 PostgreSQL 中失敗:

CONTROLLER:

@inventories = Inventory.search(params[:search], params[:page])

MODEL:

def self.search
paginate    :per_page => 10,
            :page => page, 
            :conditions => ['part_number = ? OR item LIKE ? OR catalognumber LIKE ?', "#{search}", "%#{search}%", "%#{search}%"],
            :order => 'item'
end

它在 HEROKU 的 PostgreSQL 日志中產生此錯誤:

ActiveRecord::StatementInvalid (PGError: ERROR:  invalid input syntax for integer: ""
2011-06-11T20:25:46+00:00 app[web.1]: : SELECT * FROM "inventories" WHERE (part_number = E'' OR item LIKE E'' OR catalognumber LIKE E'')  ORDER BY item LIMIT 10 OFFSET 0):

我怎樣才能解決這個問題?

解決方案...這是使用 LIKE 而不是 ILIKE http://www.postgresql.org/docs/8.3/static/functions-matching.ZFC35FDC70D5FC69D269883A822C7A53的問題

據推測,其中一個字段期望 integer,而 Postgres 在這方面的許可比 MySQL 少得多。 我不應該有任何引號。 (它應該為零,或者根本沒有字段。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM