categories
的简化结构是:
id parent_id name
1 0 jackets
2 0 sweaters
3 1 men
4 1 woomen
5 0 trousers
6 5 children
要正确构建它(javascript,样式)我必须通过将列'id'的值与'parent_id'列的所有行中的值进行比较来确定当前类别是否具有子项,因此存在应该是动态列has_children。
输出必须如下:
id parent_id name has_children
1 0 jackets true
2 0 sweaters false
3 1 men false
4 1 woomen false
5 0 trousers true
6 5 children false
答案 0 :(得分:0)
您可以添加一个选择,以便您可以使用t / f标记。
SELECT
p.id, p.nParentID,p.sTitle,
(SELECT COUNT(*) FROM pub.category c WHERE c.nParentId = p.id) AS nChildrenCount,
IF (SELECT COUNT(*) FROM pub.category c WHERE c.nParentId = p.id) , true, false) AS bHasChildren
FROM pub.category p
为了清晰起见,我还包括了一个计数。
但是,如果你正在尝试制作级联菜单,你会发现这个标志可能很方便但你真的需要一个ui端/中间件端递归函数来将你的菜单构建成一个很好的关系对象。该标志可以由递归菜单构建器使用。