0

我有简化后的模型和帖子表,如下所示:

id | parent_id | lft| rght| title | body | type

类型可以是“页面”、“新”、“服务”等。

我根据帖子类型渲染不同的视图模板,fe:

public function admin_view($id, $type){
    $posts = $this->paginate(array('Post.type' => $type));
    $this->set('posts', $posts);
}

为了使帖子可重新排序,我使用树行为函数 moveUp() 和 moveDown()。主要问题是,当我渲染仅包含确切类型帖子的视图时,函数 moveUp() 或 moveDow() 可能会切换类型不同的帖子位置。并且在当前视图中不会看到任何更改。

树行为是否有任何额外的范围条件可以通过?我查看了它的所有代码,但找不到任何可以帮助我的东西。

4

1 回答 1

0

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

于 2013-01-31T11:48:40.127 回答