gpt4 book ai didi

sql - Rails 连接 sql 列并创建一对多关系

转载 作者:行者123 更新时间:2023-12-04 23:43:58 25 4
gpt4 key购买 nike

我有两个模型:BuildingBuildingInfo。我想使用两列 townhall_levelname 关联这两个表。

理想情况下它将像下面这样工作:Building.first.building_info 例如 Building.first.townhall_level => 5Building.first.name = > cannonBuilding.first.building_info 将访问 BuildingInfo.where(townhall_level: 5, name:"cannon"

执行此操作的最佳方法是什么?我可以创建连接 nametownhall_level 的第三列吗?我是否也可以使用该列来创建 belongs_to 和 has_many 关系?

最佳答案

简单明了:

class Building < ActiveRecord::Base

def building_info
BuildingInfo.find_by(townhall_level: townhall_level, name: name)
end

end

如果没有找到则为nil,即使找到多条记录也只返回第一条记录。我也强烈建议您通过迁移为两列添加索引:

add_index :building_infos, [:townhall_level, :name], name: 'building_infos_level_and_name'

如果您担心性能,这将加快搜索速度。

关于sql - Rails 连接 sql 列并创建一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31580557/

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