具有嵌套集的CodeIgniter DataMapper

时间:2014-05-30 14:14:05

标签: codeigniter nested-sets codeigniter-datamapper

我试图获得使用包含的嵌套集扩展到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

1 个答案:

答案 0 :(得分:0)

看起来我必须包含" root_id"字段,即使表中只有一棵树。根据文件,情况并非如此。我在表中包含了一个root_id字段,并为每个条目赋值为1。现在可以正确打印完整的树。