如何在CakePHP中使用树重新排序?

时间:2013-12-03 16:29:45

标签: cakephp tree

我想生成新的左/右值,按'名称'ASC对我的类别进行排序。

我试过了:

$this->Category->reorder(array('id' => null, 'field' => 'name', 'order' => 'ASC', 'verify' => true));

所以,我在数据库中添加了几个类别(目前不关心父/子)。

generateTreeList给了我这个输出(按lft排序):

  • 阿拉斯加
  • 加拿大
  • 津巴布韦
  • 波兰
  • Francja

但我希望按字母顺序排列:

  • 阿拉斯加
  • Francja
  • 加拿大
  • Polska
  • 津巴布韦

所以我想使用reorder()来改变lft值。它返回true但对lft / rght值不做任何操作。

我不想在这种情况下使用find()来订购它 - 我需要它来自列表。

1 个答案:

答案 0 :(得分:1)

解答为什么它不起作用:

我没有检查parent_id是否具有 null 值。有'0'而不是NULL。 现在它可以工作,我的树通过使用reorder()重新定位。