【发布时间】:2019-07-18 13:58:19
【问题描述】:
我有页面,在创建或编辑页面时,可以为该页面分配父级。
现在我需要编写一个返回可能的父母的查询(因此在页面上进行查询)。问题是我只能允许一个级别的深度,这意味着如果父级用户不能选择父级
- 已经有了孩子
- 还有父母
- 可能导致嵌套关系!
最后一个是关键难点,我来解释一下:
+----+-----------+---------------+------------------------+
| id | parent_id | title | |
+----+-----------+---------------+------------------------+
| 1 | NULL | Mother | |
| 2 | NULL | Daughter | <----- selected record |
| 3 | 2 | Granddaughter | |
+----+-----------+---------------+------------------------+
我不能让“母亲”出现在“女儿”的可能父母的集合中,因为“女儿”已经有一个孩子,这会使“孙女”成为嵌套关系(记住,我只能允许一级)。
到目前为止我做了什么
我已经只允许没有孩子、没有父母
的记录但是当我编辑“女儿”时,这仍然会返回“母亲”记录,因为“母亲”没有孩子或父母,因此在这里是允许的,但是不应该,因为一旦我将“母亲”作为孩子分配给“女儿”,我最终会得到一个嵌套关系!
基本上
我需要“如果另一行将所选记录的 id 作为父行,则返回空结果”
【问题讨论】:
-
解决方案很简单,根据您的描述,您根本无法为
Daughter选择父级因为它有一个子级(每个父级选择都会创建一个嵌套关系出于这个原因).. 如果另一行将您的id作为父级,您只需要返回一个空结果 -
是的!就是这样,但我不确定如何从mysql返回空?在查询期间?
标签: php mysql database laravel