1
我在我的Symfony2項目中使用Gedmo Tree。Symfony2 Gedmo Tree with Translatable listner
$em = $this->getDoctrine()->getEntityManager();
$options = array(
'decorate' => true,
'rootOpen' => '<ul>',
'rootClose' => '</ul>',
'childOpen' => '<li>',
'childClose' => '</li>',
'nodeDecorator' => function($node) {
return '<a class="menu" href="#">'.$node['name'].'</a>';
}
);
$category = $em->getRepository('MyMainBundle:Category')->childrenHierarchy(
null, /* starting from root nodes */
false, /* load all children, not only direct */
$options
);
print_R($category);
它的工作原理,但問題是,該字段的名稱是可翻譯的。在類別表中它是NULL,值保存在category_translations表中,但是我的代碼只返回類別表中的字段。
嘗試添加listners:
$evm = new \Doctrine\Common\EventManager();
$translatableListener = new \Gedmo\Translatable\TranslatableListener();
$translatableListener->setTranslatableLocale('en');
$evm->addEventSubscriber($translatableListener);
而變化:
$em = $this->getDoctrine()->getEntityManager();
有:
$em = $this->getDoctrine()->getEntityManager(null,null,$evm);
,但沒有幫助。
閱讀關於query hint,但沒有查詢使用它。
感謝,也沒多想重寫查詢功能。 – Narek