Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在mysql数据库中保存可自定义的可排序嵌套菜单_Php_Mysql_Json_Laravel_Nested Sortable - Fatal编程技术网

Php 在mysql数据库中保存可自定义的可排序嵌套菜单

Php 在mysql数据库中保存可自定义的可排序嵌套菜单,php,mysql,json,laravel,nested-sortable,Php,Mysql,Json,Laravel,Nested Sortable,我正在创建一个CMS,它允许用户设置自己的嵌套菜单,我不确定在序列化为json后如何最好地处理和保存从可排序列表中获得的数据。我不完全是一个期望,所以我想得到一些反馈是个好主意 我最初的想法是使用“菜单标题”、“项目名称”、“顺序”变量和“深度”变量存储菜单,这些变量表示表中嵌套的深度,然后使用菜单标题对菜单项进行分组。 然后使用一系列for循环对这些变量进行排序,通过反序列化的json和递归找到嵌套的深度,但经过一些思考后,这看起来很复杂,有些“混乱” 这是我从jQuery Sortable转

我正在创建一个CMS,它允许用户设置自己的嵌套菜单,我不确定在序列化为json后如何最好地处理和保存从可排序列表中获得的数据。我不完全是一个期望,所以我想得到一些反馈是个好主意

我最初的想法是使用“菜单标题”、“项目名称”、“顺序”变量和“深度”变量存储菜单,这些变量表示表中嵌套的深度,然后使用菜单标题对菜单项进行分组。 然后使用一系列for循环对这些变量进行排序,通过反序列化的json和递归找到嵌套的深度,但经过一些思考后,这看起来很复杂,有些“混乱”

这是我从jQuery Sortable转储反序列化列表时得到的示例

数组:1[
0=>数组:3[
0=>数组:2[
“id”=>1
“子项”=>数组:1[
0=>数组:1[
0=>数组:2[
“id”=>3
“子项”=>数组:1[
0=>数组:1[
0=>数组:2[
“id”=>4
“子项”=>数组:1[
0 => []
]
]
]
]
]
]
]
]
1=>数组:2[
“id”=>2
“子项”=>数组:1[
0=>数组:1[
0=>数组:2[
“id”=>5
“子项”=>数组:1[
0 => []
]
]
]
]
]
2=>数组:2[
“id”=>6
“子项”=>数组:1[
0=>数组:2[
0=>数组:2[
“id”=>8
“子项”=>数组:1[
0 => []
]
]
1=>数组:2[
“id”=>7
“子项”=>数组:1[
0 => []
]
]
]
]
]
]
]
这是一个非常直截了当的例子,但是当有更多的嵌套菜单等5个时,似乎需要很多循环才能通过?我弄错了吗?一定有更好的办法吗?也许是改变模型的结构并使其层次化


非常感谢您的反馈。

理想情况下,在后端解析并将其作为。。并在需要时从闭包表将其转换为jQuery可排序结构。理想情况下,在后端进行解析并将其作为。。并在需要时从闭包表将其转换为jQuery可排序结构。。