gpt4 book ai didi

ruby-on-rails - 在Rails中具有has_and_belongs_to_many

转载 作者:行者123 更新时间:2023-12-03 11:37:14 26 4
gpt4 key购买 nike

在rails中使用has_and_belongs_to_many关联而不是has_many:through有明确的错误吗?我知道these articles describing的区别和解决方法,但它们来自2006年。从我在SO上阅读的内容来看,似乎人们认为habtm既旧又笨拙,但是如果一个简单的许多人加入您是否在寻找所需的模型?

有什么想法吗?

最佳答案

has_and_belongs_to_many用于简单的多对多关系。

has_many:through表示间接的一对多关系或具有属性的多对多关系。

如果您只是在寻找简单的多对多关系,那么我看不出没有任何理由不使用has_and_belongs_to_many。

多对多关系示例:

用户属于零个或多个组,并且该组具有零个或多个成员(用户)。

与属性的多对多示例:

用户属于零个或多个组,该组具有零个或多个具有等级的成员。

例如,爱丽丝可能是组A的管理员,而组B的主持人。您可以在连接表中保留此属性。

示例间接一对多关系:

一个类别有零个或多个子类别,每个子类别有零个或多个项目。

因此,一个类别的子类别中有零个或多个项目。

考虑以下类别:

Food → Fruits, Vegetables
Fruits → Apple, Orange, etc.
Vegetables → Carrot, Celery, etc.



因此:

Food → Apple, Orange, Carrot, Celery, etc.

关于ruby-on-rails - 在Rails中具有has_and_belongs_to_many,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/658206/

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