2012-08-09 44 views
1

我使用的是CakePHP的恢复()函数来设置LFT和rght但是当执行该功能恢复同样较大的值放入此两列。如何为cakephp树生成正确的lft和rght值?

例如,

之前运行树::恢复( '父');

+------+------+ 
| lft | rght | 
+------+------+ 
|37600 | 42875| 
+------+------+ 

运行后Tree :: recover('parent');

+-----------+-----------+ 
| lft | rght | 
+-----------+-----------+ 
|2147483647 | 2147483647| 
+-----------+-----------+ 

为什么会发生这种情况?还我试图把所有的值(LFT和rght)为“0”或“无效”,但这种情况发生How do I generate lft and rght values for a cakephp 2.0 tree? (随机负数被恢复函数生成)。

回答

0

我不知道如果这有助于我知道这个问题是旧的,但2147483647是一个32位有符号整数(Wikipedia)的最大值。因此,我认为你试图存储比lftrght字段更大的数字。至于为什么会发生这种情况,我不确定。