Doctrine2 で Symfony2 を使用しています。私は次のことを達成したい:
$place = $this->getDoctrine()->getRepository('TETestBundle:Place')->find($id);
そして、その場所には、(セッション中の)ユーザー言語に関する場所の情報(共通データ + テキスト)が表示されます。これを何百回も行うので、2 番目のパラメーターとしてではなく、舞台裏で渡したいと思います。したがって、英語のユーザーは場所の情報を英語で表示し、スペインのユーザーはスペイン語で表示します。
1 つの可能性は、EntityRepository からアプリのロケールにアクセスすることです。サービスとDIで完了していることは知っていますが、理解できません!
// PlaceRepository
class PlaceRepository extends EntityRepository
{
public function find($id)
{
// get locale somehow
$locale = $this->get('session')->getLocale();
// do a query with the locale in session
return $this->_em->createQuery(...);
}
}
どのようにしますか?作成および拡張する必要がある手順と新しいクラスについて少し詳しく説明していただけますか? 準備ができたら、この翻訳バンドルをリリースする予定です:)
ありがとう!