我有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()将切换类型不同的帖子的位置。并且在当前视图中不会显示任何更改。
树行为是否还有其他范围条件?我浏览了所有代码,但找不到任何可以帮助我的东西。
答案 0 :(得分:0)
树行为确实具有范围界定功能。附加这样的行为:
$this->Post->Behaviors->attach('Tree', array('scope' => array('Post.group' => $type)));
。这样,您可以为每种类型管理单独的子树。确保在Post模型上的所有操作之前设置适当的范围。