【发布时间】:2015-12-03 03:16:20
【问题描述】:
我在 MySQL 中有两个表,我想根据表单的输入使用内部联接和多个 Where 子句调用 SQL 查询。我知道您可以通过 ActiveRecord::Base.connection 执行原始 SQL 查询,但我想了解如何使用 ActiveRecord 对象来执行此操作。两个 MySQL 表的架构如下:
Describe Options;
'VIN','varchar(45)','NO','PRI',NULL,''
'LEATHER','varchar(45)','YES','',NULL,''
'4WD','varchar(45)','YES','',NULL,''
'FOGLIGHTS','varchar(45)','YES','',NULL,''
'DVD','varchar(45)','YES','',NULL,''
'SURROUND','varchar(45)','YES','',NULL,''
和
Describe Inventory;
'VIN','varchar(30)','NO','PRI',NULL,''
'MAKE','varchar(30)','NO','',NULL,''
'MODEL','varchar(30)','NO','',NULL,''
'TYPE','varchar(50)','NO','',NULL,''
我想像这样执行一个 SQL 脚本:
Select Inventory.* from Inventory
INNER JOIN Options
ON Inventory.VIN = Options.VIN
WHERE Inventory.Make = "Toyota"
AND Options.Leather = "Yes";
我在 ActiveRecord 中的 Ruby 类是这样的:
class Option < ActiveRecord::Base
self.table_name = "Options"
end
class Inventory < ActiveRecord::Base
self.table_name = "INVENTORY"
end
再次,我知道我可以将查询作为脚本输入,但我想学习如何通过 Ruby 最佳实践来做到这一点
【问题讨论】:
标签: mysql ruby-on-rails ruby activerecord