这是关联,
Publication
: has_many exchange_rates
、books
和authors
Book
belongs_to author
, exchange_rate
Author
belongs_to exchange_rate
我正在尝试编写一个查询以查找带有一个额外computed_column
books
。
这是我到目前为止尝试过的查询,
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
将computed_column
添加为Book
上的attr_accessor
class Book
attr_accessor :computed_column
end
然后,查询中的每个Book
实例都将有可用的book.computed_column
供参考:通过活动记录访问 SQL 计算列