gpt4 book ai didi

ruby-on-rails - 如何设计/建模具有有意义连接表的多个关系?

转载 作者:行者123 更新时间:2023-12-04 15:59:29 25 4
gpt4 key购买 nike

我无法用文字(在问题标题中)很好地表达我想要做的事情,所以为了纪念一张图片值一千字的说法;简而言之,我想做的是..

enter image description here

基本上,我所拥有的是一个老师有很多约会一个学生有很多约会 大致翻译为:

enter image description here

我试图远离使用 has_and_belongs_to_many 宏,因为我的 约会模型有一些含义(操作),例如它有一个 bool 字段:confirmed。

所以,我在考虑使用 has_many :通过 宏,也许使用“Appointable”连接表模型?你们有什么感想?

我尝试编写的场景很简单;

  • 学生要求在特定日期/时间与教师预约
  • 如果老师有空(并想在该日期/时间上课),她会确认预约。

  • 我希望你能告诉我你将如何解决这个问题?我使用 has_many :through 宏的假设是否正确?

    谢谢!

    最佳答案

    教师和学生都可以从一个类(class)继承,例如人。然后在 Person 和 Appointments 之间创建关联。通过这种方式,您可以保持架构开放,以便将来如果您想添加“ parent ”,那么他们可以轻松集成并可以参与约会。

    您如何与子类(学生、家长、教师)进行连接可能并不完全简单。它可能涉及我不太喜欢的多态关系。不过,您应该使用单个连接表。

    在任何情况下,您都希望设计能够扩展您的系统。早期的一些额外工作将在以后为您节省大量工作。

    关于ruby-on-rails - 如何设计/建模具有有意义连接表的多个关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15389828/

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