在我的数据库中,我创建了三个表,分别是user、user\u group、user\u group\u info。
我想做类似这样的查询,但我不知道如何连接这两个表。
SELECT * FROM user AS u
INNER JOIN user_group AS ug ON u.user_group_id=ug.user_group_id
INNER JOIN user_group_info AS ugi ON ug.user_group_id=ugi.user_group_id
WHERE ugi.language_id = 1
用户模型
class User < ApplicationRecord
self.table_name = "user"
self.primary_key = "user_id"
belongs_to :user_group
end
用户组模型
class UserGroup < ApplicationRecord
self.table_name = "user_group"
self.primary_key = "user_group_id"
has_many :user
belongs_to :user_group_info
end
usergroupinfo模型
class UserGroupInfo < ApplicationRecord
self.table_name = "user_group_info"
has_many :user_group
end
1条答案
按热度按时间xdnvmnnf1#
您可以使用activerecord来创建查询,而不是手动创建查询。试试这个:
这应该转化为您在问题中给出的示例查询。
你从
User
你加入了user_groups
. 通过user_groups
,你加入user_group_infos
. 最后,在user_group_infos
. 有几种方法可以写出来。