Как работает scope_column во вложенном множестве symfony? - PullRequest
0 голосов
/ 12 июля 2011

Я хотел бы знать, как работает scope_column, используя вложенный набор Propel в symfony.

Я бы хотел сохранить каждый элемент из формы, используя вложенный набор.здесь некоторый код:

модель подменю имеет следующие атрибуты: id, parent_id, url, menu_user_atribute_id

//SubMenu.php

public function doSave(PropelPDO $con)
{
  if($this->getParentId() == null)
  {
    $this->makeRoot();
  }else{
    $parent = SubMenuPeer::retrieveByPK($this->getParentId());
    $this->setParent($parent);
    $this->getParent()->addChild($this);
  }
  parent::doSave($con);
}

, но когда я хочу сохранить другой элемент со значением области действия диферента (в данном случаеscope_column = menu_user_role_id), это заменяется первым scopeValue.

the submenu item 19 with menu_user_role=28, but it should be 29.

id  parent_id  menu_user_role_id  Detail_url_id   TreeLeft  treeRight  treeLevel
17  NULL      28                  1               1         2          0
18  17        28                  2               2         3          1
19  17        28                  3               2         3          1

1 Ответ

2 голосов
/ 21 декабря 2011

Вам необходимо разрешить использование области, прежде чем вы сможете определить, что такое scope_id:

<behavior name="nested_set">
  <parameter name="use_scope" value="true" />
  <parameter name="scope_column" value="menu_user_role_id" />
</behavior>
...