我有一个相当复杂的 sql 语句,它是动态创建的。但是对于一个简单的查询也存在同样的问题,所以我以这个为例。
我有一个功能模型。我可以打电话Feature.count
-> 4
但是,如果我尝试使用ActiveRecord::Base.connection.execute("SELECT ID from features")
结果获取所有功能 id 是一个OCI8::Cursor
对象。我不知道如何从中获取数据。
如果我尝试ActiveRecord::Base.connection.execute("SELECT ID from features").fetch
我得到[1]
. 随着xyz.fetch_hash
我得到{"ID" => 1}
.
我想要所有的身份证。我刚从 PostgreSQL 切换到 Oracle。
使用 PostgreSQL,我使用 获取所有数据ActiveRecord::Base.connection.execute("SELECT ID from features").to_a
,但使用gem ( )to_a
不存在。activerecord-oracle_enhanced-adapter
*** NoMethodError Exception: undefined method 'to_a' for #<OCI8::Cursor:0x00000007028aa8>
我正在使用 Ruby 2.0 和 Rails 4。与 Oracle 数据库的连接正常,除了我手动创建的语句。