请为此类任务提供最佳解决方案:
实体层次结构:部门->类别->产品
目前在类别管理中,我有一个所有部门的所有类别列表。但是,我需要实现类别的排序功能,这是用Doctrine Sortable完成的,所以我在管理员列表视图中有移动箭头。但是,由于职位是按类别部门分组的,我有多个"第一"one_answers"最后"类别,移动不太清楚(因为我还不能发布图像):
1. category [move down]
2. category [move down]
3. category [move down][move up]
4. category [move down][move up]
因此,我添加了一个按部门的默认过滤器,现在有了按部门的较短类别列表。这还有很多问题,所以我正在寻找一个更好的symfony/sonata/其他解决方案:
按同一部门单独(动态)管理/类别列表(按类别划分的产品也会发生同样的情况)。
PS。显然,子类不是解决方案,因为我只有一个类别实体类。
我遇到了同样的问题,我的解决方案很简单。
我写了一个控制台命令函数,在那里我调用了一个存储库来检索该实体中的所有条目。然后我简单地循环浏览它们,并为它们分配一个递增的位置值。这将为您的管理员列表提供结构。在该命令后添加的所有条目都将自动给定下一个位置值,您的可排序功能将完美工作。
示例:
protected function execute(InputInterface $input, OutputInterface $output)
{
$this->em = $this->getContainer()->get('doctrine.orm.entity_manager');
$repo = $this->em->getRepository('AppBundle:Leadership');
$entries = $repo->findAll();
$index = 0;
foreach ($entries as $entry) {
$entry->setPosition($index);
$this->em->persist($entry);
$this->em->flush();
$index = $index + 1;
}
}
希望这能有所帮助。