gpt4 book ai didi

ruby - Ruby 中的链表

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:16 24 4
gpt4 key购买 nike

我有 ParentChild 模型。 Parent has_many :children,应该以正确的顺序保存在数据库中。我决定将其保存为带有字段 next_id 的链表。我知道,有 acts_as_list gem,但它保存了 position 字段。这不是更重 sql 的解决方案吗?

不过,您有什么想法可以构建它吗?我要保存 SRP ,所以所有对列表的操作都应该在 Child 模型中。 Parent 应该已经订购了 children

最佳答案

让列表中的所有元素都与单个父元素相关联的优点是您可以一次性获取和排序它们:

SELECT * FROM list_items WHERE parent_id=? ORDER BY position

你不能用链表结构来做到这一点。相反,您必须一次最多获取两个,即前一个和下一个条目,并且必须对列表中的所有其他记录递归地重复此过程。检索包含 1000 多个项目的列表是不切实际的。

关于ruby - Ruby 中的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13272833/

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