gpt4 book ai didi

mysql - 不确定如何将 SQL 转换为 Rails ActiveRecord

转载 作者:行者123 更新时间:2023-11-29 07:01:36 25 4
gpt4 key购买 nike

我运行这个 SQL 语句

select * from checkins where user_id in (SELECT friend_id from friendships where user_id=1);

用户表
编号 |姓名 |邮箱

友情表
用户 ID | friend_id

签到表
用户 ID |入住时间

我试过了

friends = Friendship.select("friend_id").where("user_id = 1");

Checkin.where("user_id = "+friends);

关于如何用 Active Record 重写它有什么想法吗?我觉得应该有一个简单的方法来解决这个问题......

最佳答案

怎么样:

Checkin.joins("INNER JOIN friendships ON friendships.friend_id = checkins.user_id).where('friendships.user_id = ?', 1)

或者,对于更像您最初想法的东西:

friends = Friendship.select("friend_id").where("user_id = 1").map { |f| f.friend_id };
Checkin.where(:user_id => friends);

关于mysql - 不确定如何将 SQL 转换为 Rails ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9947282/

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