http://sqlfiddle.com/#!9/1d4a6/1
我有现有的类别分层数据。我一直在使用传统方法来使用 parent_id 获取父母、孩子等。
现在我正在尝试使用 Gedmo 学说扩展。我已经安装了扩展并更新了架构。
如果我按照文档示例中给出的父子项创建新类别,则它可以工作。它正确地填充 lft、lvl、rgt、根列。
$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。