Как внедрить доступ к базе данных в menubuilder кноба Symfony? - PullRequest
0 голосов
/ 22 мая 2019

Я хотел бы добавить доступ к базе данных в меню 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 для доступа к базе данных / доктрине?

...