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

时间:2013-01-31 11:36:33

标签: cakephp tree

我有Post模型和帖子表,简化如下:

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

类型可以是'page','new','service'等。

我根据帖子类型f.e。:

呈现不同的视图模板
public function admin_view($id, $type){
    $posts = $this->paginate(array('Post.type' => $type));
    $this->set('posts', $posts);
}

为了使帖子可以转换,我使用树行为函数moveUp()和moveDown()。主要问题是,当我渲染只包含精确类型的帖子的视图时,可能会发生函数moveUp()或moveDow()将切换类型不同的帖子的位置。并且在当前视图中不会显示任何更改。

树行为是否还有其他范围条件?我浏览了所有代码,但找不到任何可以帮助我的东西。

1 个答案:

答案 0 :(得分:0)

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