我試圖通過翻譯塞來檢索對象,像這樣的錯誤: - 我做了該方法的自定義庫Doctrine2 - 當使用@ParamConverter
1:
public function findByTranslatedSlug($slug, $locale)
{
var_dump($_locale);exit;
$qb = $this->createQueryBuilder('c')
->where('c.slug = :slug')
->setParameters($slug);
$query = $qb->getQuery();
$query->setHint(
\Doctrine\ORM\Query::HINT_CUSTOM_OUTPUT_WALKER,
'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker'
\Gedmo\Translatable\TranslatableListener::HINT_TRANSLATABLE_LOCALE, $locale
);
return $query->getOneOrNullResult();
}
2 - 我行動被配置爲與@ParamConverter這樣的:
/**
* @Route("/{slug}", name="name")
* @Template()
* @ParamConverter(
* "content",
* class = "StenikContentBundle:Content",
* options = {
* "mapping" = {"_locale": "locale"},
* "repository_method" = "findByTranslatedSlug"
* }
* )
*/
public function indexAction($content)
{
var_dump($content->getSlug());exit;
}
3 - 主路由
stenik_content:
resource: "@StenikContentBundle/Controller/"
type: annotation
prefix: /{_locale}
嘗試通過xxx.localhost/app_dev.php/en/some-slug
檢索對象後,我得到一個錯誤的學說:
Unable to guess how to get a Doctrine instance from the request information.
我找不到什麼導致了錯誤,或許是庫法和映射不能同時一起使用。你能幫我嗎?
謝謝,但映射只有實體領域的文章,我想通過對TranslatableListener一個區域。有任何想法嗎? – 2014-11-13 09:16:28