- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用我创建的存储过程从我的 MySQL 数据库中获取对象。
@locs = Location.find_by_sql("CALL geodist(100.4058, 37.7907, 10000, 'Sample')")
这会导致以下错误
Location Load (6.4ms) CALL geodist(100.4058, 37.7907, 10000, 'Sample')
Completed in 37ms
Mysql2::Error (Commands out of sync; you can't run this command now):
但是下面的工作正常:
@locations = Location.connection.select_all("CALL geodist(100.4058, 37.7907, 10000, 'Sample')")
但是,它不返回对象,只返回值的散列。
有什么方法可以让 find_by_sql 工作吗?如果没有,如何在不再次查询数据库的情况下手动实例化 AR 模型?
谢谢!
最佳答案
您可以通过将每个散列发送到事件记录模型的构造函数来自己构建对象
@locations = Location.connection.select_all("CALL geodist(100.4058, 37.7907, 10000, 'Sample')")
results = Array.new
@locations.each do |location|
results[] = Location.new(location)
end
更新:顺便说一下,这是一种奇怪的行为,我刚刚查看了 find_by_sql 方法的实现,它看起来很熟悉 http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-find_by_sql
关于mysql - Rails - find_by_sql + 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5277854/
我想使用 find_by_sql 方法代替事件记录查询接口(interface),因为我在编写自己的 SQL 时获得了灵 active 。 例如, 在 SQL 中将查询中的表从小到大排序被认为是一种很
我想同时使用 find_by_sql 和包含。 我使用 find_by_sql 是因为我在 from 内部编写 select 以利用索引。 某种方式,如果我使用左连接,索引将被忽略。 但是, find
我有一个 fairly complex sql query我很确定我无法使用 ARel (Rails 3.0.10) 来完成 查看该链接,但它有一些连接和一个 where isn't 子句,我很确定这
我需要对 PHP ActiveRecord 使用自定义查询,因为我需要 UNION 语句,即使我在两个查询上查询同一个表。我希望能够将我的模型中作为 belongs_to 的列包含到结果中。 这是我的
我正在使用 find_by_sql 对这样的关系进行左连接计数: scope :popular, lambda{ |since_date = false| query = "select
我的sql查询是 SELECT MAX(sale_money) FROM ( SELECT SUM(sale_money) sale_money FROM sales WHER
我想执行这样的查询 SELECT * FROM ( SELECT * FROM products ORDER BY price ASC ) AS s GROUP BY item; 返回每个项目的所有产
因此,在 Rails 中,我使用 sqlite3 进行开发,使用 mysql 进行生产。 Sqlite3 和 mysql 以不同方式处理 bool 值(sqlite3 中的“t”或“f”以及 mysq
我的 RoR 脚本中有以下调用: Foo.where("event = 'Login'").group('user_id').order('user_id ASC').count() 这为我提供了所有
我正在尝试使用我创建的存储过程从我的 MySQL 数据库中获取对象。 @locs = Location.find_by_sql("CALL geodist(100.4058, 37.7907, 100
是否存在某种与 mongoid 等价的 find_by_sql,您可以在其中传递一个 mongo 查询并从结果中具体化 Mongoid::Document s? 最佳答案 Mongoid 包装 Col
我正在使用 find my sql,我想在数据库中计算一些东西并添加到我的模型中。 我会尽量简化代码 class User < ActiveRecord::Base attr_accessor
我正在尝试使用 find_by_sql 查询我的 Devise 创建的表,但遇到了一个奇怪的错误。 User.find_by_sql("select username from user") 结果:
我正在使用 RoR 和 mysql 数据库。我想将时间戳列转换为字符串,所以我有 SQL: @books = Book.find_by_sql("select id, name, date_forma
我是 Rails 的新手,但我正在尝试提取一些与用户偏好 (current_user.industry) 相匹配的数据。 rails 中是否有使用 SQL 提取数据并使用来自助手或其他 @variab
我在以下 MySQL 语句中使用日期变量时遇到问题。日期变量包含一个表示日期的字符串。 personal = Event.find_by_sql ["SELECT *
我们有一个相当简单的查询,可以与 AR 查询结构完美配合: user = User.includes({:network => :product}).joins({:network => :produ
我正在尝试将一些基本的报告屏幕放在一起。我将一些相当复杂的 SQL 查询输入到 ActiveRecord 的 find_by_sql 方法中。我在这里遇到的问题是我丢失了原始查询中给出的列顺序。我假设
我们公司喜欢计算晦涩指标的报告——无法使用 ActiveRecord 的查找器(find_by_sql 除外)计算的指标,而 ruport 基于 ruby 的功能太慢了。 是否有插件或 gem 或
我有一个连接到外部数据库的模型,我使用 find_by_sql 方法进行查询,如下所示: External.find_by_sql("SELECT * from table") 但是,当我添加 .pa
我是一名优秀的程序员,十分优秀!