Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何使用活动记录通过它查询资源';s根资源id?_Sql_Ruby On Rails_Activerecord - Fatal编程技术网

Sql 如何使用活动记录通过它查询资源';s根资源id?

Sql 如何使用活动记录通过它查询资源';s根资源id?,sql,ruby-on-rails,activerecord,Sql,Ruby On Rails,Activerecord,假设我有嵌套结构,比如 Resource A -id Resource B -id -a_id Resource C -id -b_id Resource D -id -c_id 给定一个a_id,我想在一个查询中获取所有的Ds,如: SELECT * FROM D JOIN C on c_id JOIN B on b_id WHERE B.a_id = a_id 我知道我可以内联这个SQL,但我想知道是否有一种方法可以通过ActiveRecord关系来实现这一点?在ActiveRe

假设我有嵌套结构,比如

Resource A
-id

Resource B
-id
-a_id

Resource C
-id
-b_id

Resource D
-id
-c_id
给定一个a_id,我想在一个查询中获取所有的Ds,如:

SELECT * 
FROM D
JOIN C on c_id
JOIN B on b_id
WHERE B.a_id = a_id

我知道我可以内联这个SQL,但我想知道是否有一种方法可以通过ActiveRecord关系来实现这一点?

在ActiveRecord文档中找到了答案

D.joins(C: :B).where(B: { a_id: a_id})

在活动记录文档中找到答案

D.joins(C: :B).where(B: { a_id: a_id})
class A:b)。其中(:b=>{:a\u id=>})
A类:b)。其中(:b=>{:a\u id=>})

您是否要求rails
includes
join
方法到急切加载关联?您是否要求rails
includes
join
方法到急切加载关联?