CakePHP树行为:重新排序不同类型的帖子

CakePHP树行为:重新排序不同类型的帖子,cakephp,tree,Cakephp,Tree,我有Post模型和posts表,简化后如下所示: id | parent_id | lft| rght| title | body | type 类型可以是“页面”、“新建”、“服务”等 我根据帖子类型呈现不同的视图模板,例如: public function admin_view($id, $type){ $posts = $this->paginate(array('Post.type' => $type)); $this->set('posts', $p

我有Post模型和posts表,简化后如下所示:

id | parent_id | lft| rght| title | body | type
类型可以是“页面”、“新建”、“服务”等

我根据帖子类型呈现不同的视图模板,例如:

public function admin_view($id, $type){
    $posts = $this->paginate(array('Post.type' => $type));
    $this->set('posts', $posts);
}
为了使帖子可重新排序,我使用树行为函数moveUp()和moveDown()。主要的问题是,当我渲染只包含确切类型的帖子的视图时,可能会发生函数moveUp()或moveDow()将切换不同类型帖子的位置的情况。并且在当前视图中看不到任何更改


对于树行为是否有其他作用域条件要传递?我查看了它的所有代码,但找不到任何对我有帮助的东西。

树行为确实具有作用域功能。附加如下行为:
$this->Post->Behaviors->attach('Tree',array('scope'=>array('Post.group'=>$type))。通过这种方式,您可以为每种类型管理单独的子树。在对Post模型进行所有操作之前,请确保设置正确的范围。

我无法使其工作。使用:$this->Post->Behaviors->attach('Tree',array('scope'=>array('Post.type'=>'action'));函数moveUp()返回false,lft值不变。我尝试先分离行为,或者不在模型公共变量中声明它,但没有成功。您需要从头开始,重新构建树,使其能够工作。