mysql - ActiveRecord 深层嵌套查询和计算列

标签 mysql ruby-on-rails activerecord subquery

这是协会,

出版物:有_many exchange_rates书籍作者

书籍 belongs_to author, exchange_rate

作者 belongs_to exchange_rate

我正在尝试编写一个查询来查找带有一个额外computed_columnbooks

这是我到目前为止尝试过的查询,

publication.books.joins(:exchange_rate, :author).select("books.*, (exchange_rates.exchange_ratio + (SELECT exchange_rates.exchange_ratio FROM exchange_rates WHERE exchange_rate_id = authors.exchange_rate_id)) AS computed_column")

我的目标是生成一个从关联表属性计算的列。

也就是说,

book.exchange_rate.exchange_ratio + book.author.exchange_rate.exchange_ration AS computed_column

最佳答案

Book 上添加 computed_column 作为 attr_accessor

class Book
  attr_accessor :computed_column
end

那么您查询中的每个 Book 实例都会有可用的 book.computed_column

供引用:Access SQL computed columns through ActiveRecord

关于mysql - ActiveRecord 深层嵌套查询和计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28233869/

相关文章:

php - 表 [tablename] 未锁定

ruby-on-rails - 如何在 Rails 3 中路由多级嵌套资源?

javascript - 如何调试 Rails 项目中的 JavaScript 错误?

activerecord - Rails 4 语法添加参数或 lambda 以包含条件或将参数传递到关系范围

mysql - 在两个表上使用内连接,外键引用主表上的主 ID

mysql - 如何将 MySQL 用于 Nginx 的动态文档根目录?

mysql - 从多个表中进行选择,其中结果在另一个表上出现的数量少于 X 数量

ruby-on-rails - 如何显示来自rails本地项目文件夹的图像?

ruby-on-rails - 覆盖 rails #destroy 参数错误

ruby-on-rails - 无法回滚迁移