Я хотел бы добавить доступ к базе данных в меню knpBuilder.Я не нашел решения в официальной документации Symfony.
Я пытался внедрить репозиторий классов, как вы можете сделать для контроллеров, (что-то вроде публичной функции createMainMenu (array $ options, MenuRepository $ menuRepository)), но этоне сработало.
Я пытался использовать метод в ответе
Как получить доступ к Entity Manager внутри KnpMenuBundle?
Но это сделалтоже не работает.
class MenuBuilder
{
private $factory;
/**
* @param FactoryInterface $factory
*
* Add any other dependency you need
*/
public function __construct(FactoryInterface $factory)
{
$this->factory = $factory;
}
public function createMainMenu(array $options)
{
$menu = $this->factory->createItem('root');
$menu->setChildrenAttribute('class', 'nav navbar-nav');
$menu->addChild('generalités', ['route' => 'general']);
$menu->addChild('bloging', ['route' => 'blog']);
$menu->addChild('archives', ['route' => 'archives']);
return $menu;
}
}
Что добавить в createMainMenu
для доступа к базе данных / доктрине?