我想在knp menuBuilder中注入对数据库的访问。 在官方的symfony文档中找不到解决方案。
我试图注入类存储库,因为您可以对contollers进行操作(类似于公共功能createMainMenu(array $ options,MenuRepository $ menuRepository)),但是它没有用。
我试图在答案中使用该方法
How to access the Entity Manager inside of the 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
中添加什么才能访问数据库/主义?