将sql查询转换为活动记录以从多个表中进行选择

时间:2015-09-21 14:49:46

标签: ruby-on-rails activerecord sqlite

我正在尝试找到一种将sqlite3查询转换为活动记录格式的方法。

我的查询是:

SELECT first_name,last_name,title,checkin,checkout
FROM books, checkouthistories, users
WHERE checkouthistories.isbn = isbn and books.isbn = isbn AND
      checkouthistories.email = users.email`

我知道如何使用select函数和where子句从一个表中进行选择,但我无法找到使用多个表和多个where子句的方法/ p>

1 个答案:

答案 0 :(得分:1)

尝试这样的事情(我不确切知道你的关联和模特是什么样的,所以当你添加更多细节时我会更新我的答案):

Books.
joins("JOIN checkouthistories ON books.isbn = checkouthistories.isbn").
joins("JOIN users ON checkouthistories.email = users.email").
select("User.first_name, User.last_name, Book.title, Checkouthistory.checkin,Checkouthistory.checkout")