问题标签 [transitive-closure-table]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - 在 Laravel 中使用 ClosureTable 时如何创建多个父节点的子节点
我想在 Laravel 8 应用程序中使用ClosureTable 。我按照说明进行操作,因此我有两个名为 nodes 和 node_closure 的表,其结构如下,首先是nodes
表:
ID | parent_id | 位置 | 删除_at |
---|---|---|---|
? | ? | ? | ? |
表格如下node_closure
:
闭包ID | 祖先 | 后代 | 深度 |
---|---|---|---|
? | ? | ? | ? |
我在示例中运行了给定的代码:
它使用以下数据填充表:
现在当我跑
它给了我:
并运行以下命令:
返回一个空数组[]
(在包的github 页面上的给定示例中,它没有描述或提及在多个节点中使用一个节点,所以我不确定包是否可以实现)
除了这个例子,我还尝试了很多不同的东西,比如
接着:
但它没有按预期工作。我所看到的,当我对列运行任何更新以使其成为另一个父节点的子节点时,它只会更新 parent_id 字段,因此失去对先前父子关系的引用,并且节点不再是父节点的子节点。
是否有可能以某种方式实现我想要实现的目标?那就是通过这个模块使“多对多关系”更容易,其中一个节点可以是多个父节点的子节点。
附言。我实际上有一个商家表,我想在其中创建多个商家的商家子商家。如果有人有更好的想法,那就太好了。我只想坚持 Laravel 的自然关系绑定。