1

我想了解关系依赖销毁和依赖无效化在轨道上以及与 SQL 的关系。

谢谢

4

3 回答 3

4

示例:餐桌用户和餐桌车

用户有很多车车属于用户

在 table car 中,每行都有 user_id

如果您在定义用户关系时设置了依赖销毁,那么当您删除一个用户时,所有具有该 user_id 的汽车也将被删除

如果您设置 nullify,汽车将保留,但 user_id 列将设置为 null(因为具有该 id 的用户已被删除,所以在那里有任何值是没有意义的)

希望这会有所帮助

于 2013-08-13T10:16:12.640 回答
0

当我们想要摆脱孤立记录时,您可以使用依赖,因为它们会导致各种问题。当我们删除或销毁与模型 B 关联的模型 A 时,会创建孤立记录,但在此过程中并未删除模型 B。

您最常想使用destroy - 所有关联的对象都会被一一删除。其他常见的选项是:

:delete_all– 所有关联对象将在单个查询中删除。

:nullify– 外键将设置为 NULL

您可以在此处查看有关内容的更多详细信息。

于 2018-05-24T07:24:01.463 回答
0

当您想要摆脱孤立记录时,您可以使用这些选项。最常用的是destroy因为它会一一删除所有关联的对象。

于 2018-03-20T13:44:27.327 回答