gpt4 book ai didi

ruby-on-rails - 一般 Active Record 加入或包含

转载 作者:行者123 更新时间:2023-12-04 05:31:30 24 4
gpt4 key购买 nike

我有两个模型/表 A 和 B。我想执行一个 Active Record 查询,其中结果包括两个表中的列。我尝试了 inner joins,因为它们听起来像是结合了两个表中的列。然而,尝试使用 Active Record joins finder 方法仅返回第一个表的结果。

哪些 Active Record 查询在结果中包含来自两个表的列?includes 查找器方法可能会有所帮助。

编辑:将这两个表视为 ForumThreads 和 Posts。每个论坛线程都有多个帖子。我希望查询结果中的行包含每个帖子的信息和论坛主题的信息(例如主题标题)。

这个问题可能已经回答了我的问题:Rails Joins and include columns from joins table

最佳答案

Joins执行内部联接,但在您请求之前不会返回数据。

User.where(:id => 1).joins(:client_applications)
User Load (0.2ms) SELECT "users".* FROM "users" INNER JOIN "client_applications" ON "client_applications"."user_id" = "users"."id" WHERE "users"."id" = 1

Includes将执行两个查询(使用 where in)并缓存相关数据(Eager Loading)

User.where(:id => 1).includes(:client_applications)
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1
ClientApplication Load (13.6ms) SELECT "client_applications".* FROM "client_applications" WHERE "client_applications"."user_id" IN (1)

关于ruby-on-rails - 一般 Active Record 加入或包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com