i18n doctrine オブジェクトから特定の翻訳を取得できないという問題があります。呼び出す$object->getName();
と、期待どおりに現在のカルチャで名前が取得されます。ただし、ユーザー カルチャを切り替えずに特定の翻訳を取得したい場合は$object->getName('fr');
、この例ではフランス語ではなく現在のカルチャを取得します。ただし、これ$object->getTranslation()->fr->name;
は機能します。私は何を間違っていますか?$object->getName($culture);
これを行う正しい方法ではありませんか?
これが役立つ場合、私のスキーマの関連部分は次のとおりです。
Object:
actAs:
Timestampable: ~
I18n:
fields: [name, description]
columns:
name: { type: string(255), notnull: true }
description: { type: string(1000) }
user_id: { type: integer }
relations:
User: { class: sfGuardUser, local: user_id, foreign: id, type: one, foreignType: many, foreignAlias: Objects }