gpt4 book ai didi

ruby-on-rails - 来自 3 个不同表的 3 个 id 的多对多

转载 作者:行者123 更新时间:2023-12-03 19:44:09 25 4
gpt4 key购买 nike

我有 3 个模型:

  • 教师
  • 专长
  • 客房

  • 1名教师可以拥有许多专业知识;

    1位老师可以有多个房间;

    1个房间可以有多位老师;

    1 专长可以有很多老师;

    Expertise 和 Room 之间没有关系。

    我的链接表,这将是第四个模型,我存储多对多的地方有 3 列:
  • Teacher_id
  • 专业知识 ID
  • room_id

  • 教师登录后,他需要为他的专长选择不同的房间,因此他单击列出的他的专长之一,然后在新页面中出现复选框,其中包含他可以选择的房间。

    问题是当我保存老师时,我在链接表中创建了一条记录,但我失去了老师拥有的所有专业知识。因为我只有 1 个专业知识,关系教师 <-> 专业知识已删除所有专业知识,只保留用于分配房间的专业知识。

    有关如何管理这些模型的任何提示?
    我尝试通过使用has_many,但显然犯了一些我找不到的大错误。

    最佳答案

    A has and belongs to many 关系只存在于两个模型之间。所以在你的情况下,我的理解是你必须为这两个表做两个表,并且属于许多关系:

  • 老师和专家之间(teacher_id,expertise_id)
  • 老师和房间之间(teacher_id, room_id)

  • 如果 Room 和 Expertise 之间没有关系,则不应在同一张表中找到它们!

    关于ruby-on-rails - 来自 3 个不同表的 3 个 id 的多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24869281/

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