我有几个海量的SQL请求涉及到我的rails应用程序中的各种模型的连接。 单个请求可能涉及6到10个表。如何使用ARel加入子查询?
为了更快地运行请求,我想在连接中使用子查询(这样我可以在连接之前筛选这些表并将列减少到我需要的列)。我正在尝试使用ARel来实现这一点。
我以为我发现我的问题在那里的解决方案:How to do joins on subqueries in AREL within Rails, 但事情一定已经改变,因为我得到undefined method '[]' for Arel::SelectManager
。
有没有人有任何想法如何实现这一点(不使用字符串)?
你能显示你正在尝试的查询吗? – mguymon
以便将其简化到极限水平: SELECT A. * INNER JOIN(SELECT B.a_id FROM B WHERE Bc> 4)B ON A.id = B.a_id –
您可以为您尝试的Ruby代码查询? – mguymon