我试图获得使用包含的嵌套集扩展到DataMapper的CodeIgniter DataMapper嵌套集的基本示例。我有一张桌子,里面有一棵树:
+------+--------------+---------+----------+
| id | name | left_id | right_id |
+------+--------------+---------+----------+
| 2063 | Categories | 1 | 74 |
| 2064 | Category 14 | 72 | 73 |
| 2065 | Category 18 | 64 | 71 |
| 2066 | Category 21 | 62 | 63 |
| 2067 | Category 22 | 60 | 61 |
| 2068 | Category 23 | 58 | 59 |
| 2069 | Category 24 | 56 | 57 |
| 2070 | Category 25 | 54 | 55 |
| 2071 | Category 58 | 52 | 53 |
| 2072 | Category 59 | 50 | 51 |
| 2073 | Category 62 | 48 | 49 |
| 2074 | Category 63 | 46 | 47 |
| 2075 | Category 75 | 44 | 45 |
| 2076 | Category 181 | 42 | 43 |
| 2077 | Category 182 | 40 | 41 |
| 2078 | Category 183 | 38 | 39 |
| 2079 | Category 184 | 36 | 37 |
| 2080 | Category 185 | 34 | 35 |
| 2081 | Category 186 | 32 | 33 |
| 2082 | Category 187 | 30 | 31 |
| 2083 | Category 188 | 28 | 29 |
| 2084 | Category 189 | 26 | 27 |
| 2085 | Category 190 | 24 | 25 |
| 2086 | Category 191 | 22 | 23 |
| 2087 | Category 192 | 20 | 21 |
| 2088 | Category 193 | 18 | 19 |
| 2089 | Category 194 | 16 | 17 |
| 2090 | Category 195 | 14 | 15 |
| 2091 | Category 196 | 12 | 13 |
| 2092 | Category 198 | 10 | 11 |
| 2093 | Category 199 | 8 | 9 |
| 2094 | Category 200 | 6 | 7 |
| 2095 | Category 201 | 4 | 5 |
| 2096 | Category 204 | 2 | 3 |
| 2097 | Category 125 | 69 | 70 |
| 2098 | Category 126 | 67 | 68 |
| 2099 | Category 127 | 65 | 66 |
+------+--------------+---------+----------+
我只是尝试使用文档中的dump_tree()
方法转储树,但我根本没有得到任何输出。这是代码:
$tree = new Category();
$tree->get_root();
print_r($tree->dump_tree(array('name'), 'html', FALSE));
我知道这个模型是"工作"因为如果我在尝试使用print_r($tree)
之前dump_tree
,我会看到$ tree对象确实包含我的根节点。但是,当我尝试转储整个树时,没有输出。
有谁知道我在这里做错了什么?谢谢!
哦,这里是我所指的文档的链接:http://datamapper.wanwizard.eu/pages/extensions/nestedsets.html
答案 0 :(得分:0)
看起来我必须包含" root_id"字段,即使表中只有一棵树。根据文件,情况并非如此。我在表中包含了一个root_id字段,并为每个条目赋值为1。现在可以正确打印完整的树。