具有非默认语言的 Doctrine i18n 上的 getTitle()

Posted

技术标签:

【中文标题】具有非默认语言的 Doctrine i18n 上的 getTitle()【英文标题】:getTitle() on Doctrine i18n with non-default language 【发布时间】:2010-06-18 10:49:11 【问题描述】:

我在从 Doctrine 1.1.6 / Symfony 1.2 中的 i18n 对象获取对象标题时遇到问题

我有以下 Doctrine Table 方法:

public function getPlace($place_id, $lang='')
$q = Doctrine::getTable('Place')
  ->createQuery('p');

if($lang != '')
  $q = $q->leftJoin('p.Translation ptr')
    ->addWhere('ptr.lang = ?', $lang);

return $q->addWhere('p.id = ?', $place_id)
    ->fetchOne();

然后在视图文件上,如果我执行 $place->getTitle(),它会以我想要的语言正确打印标题。但是,如果我对一个操作执行 $place->getTitle() 它什么都不返回,我必须执行 $place->Translation['es']->title 以获取西班牙语标题。如果我使用默认语言 ('en') $place->getTitle() 工作。

知道如何让 $place->getTitle() 一直工作吗?

谢谢!

【问题讨论】:

【参考方案1】:

我不知道为什么它不起作用;所以我现在做 $place->Translation[$lang]->title 来获得我想要的语言的标题。

【讨论】:

以上是关于具有非默认语言的 Doctrine i18n 上的 getTitle()的主要内容,如果未能解决你的问题,请参考以下文章

教义 2 - i18n 的最佳实践?

defaultLocale 未在 Next.js i18n 中保留默认语言

在过滤器中设置默认语言后,JSP i18n 分别在每个页面上工作

具有非默认 spark.executor.memory 设置的 EMR 上的 pyspark 代码未生效?

jHipster 实体中的 i18n

用于测试 i18n 属性的 Maven 插件