型号:
class Change < ActiveRecord::Base
attr_accessor :selected_end_index, :selected_start_index, :revision_number
错误:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'revision_number' in 'where clause': SELECT * FROM `changes` WHERE (kind = 2 && status = -1 && content_id = 2 && revision_number = 0) ORDER BY id DESC
方法:
def new_change_requests_for_latest_version
changes = Change.find(:all,
:conditions => ["kind = ? && status = ? && content_id = ? && revision_number = ?",
Change::CHANGE, Change::NEW, self[:id], self.current_version],
:order => "id DESC")
return changes
end
最佳答案
这意味着没有名为“revision_number”的列。您可以在应用程序中访问它的原因是因为 attr_accessor 在内存对象中设置该字段。但分配给它的任何值都不会保留在数据库中,也无法对其进行查询。
关于mysql - 未知列 mysql where 子句 - 但我可以在我的应用程序中访问和设置它。是什么原因造成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8142227/