http://sqlfiddle.com/#!9/1d4a6/1
我有类别的现有分层数据。我一直在使用传统方法来使用parent_id来获取父,子等。
现在我正在尝试使用Gedmo教义扩展。我已经安装了扩展和更新的架构。
如果我使用文档示例中给出的父子项创建新类别,则可以正常工作。它正确填充lft,lvl,rgt,root列。
$food = new Entity\Category();
$food->setTitle('Food');
$fruits = new Entity\Category();
$fruits->setParent($food);
$fruits->setTitle('Fruits');
$apple = new Entity\Category();
$apple->setParent($fruits);
$apple->setTitle('Apple');
$milk = new Entity\Category();
$milk->setParent($food);
$milk->setTitle('Milk');
$em->persist($food);
$em->persist($milk);
$em->persist($fruits);
$em->persist($apple);
$em->flush();
但我旧类别的列数上面有0个值。
我尝试获取所有结果并更新它们,但上面列的所有值仍为0.
更新1:
添加此
$repo->recover();
填充lft和rgt但仍然lvl和root是0& NULL resp。
答案 0 :(得分:0)
只更新左右:
$repo->verify();
$repo->recover();
$em->flush();
但我仍然在寻找如何更新关卡:)
答案 1 :(得分:0)
您需要在恢复前清除缓存
$em->clear();
$repo->verify();
$repo->recover();
$em->flush();