将请求注入 Symfony2 实体

Inject request into Symfony2 Entities

我有一个 Symfony2 项目,今天我被要求将其国际化。

我有几个 MySQL 实体和新翻译的内容,我想将它们放在一个 table 中,其中包含:

ID | language | content_key | content_translation

设置 _locale 后,我希望能够在实体级别传递它,以便让模型层检索内容本身(再次调用翻译 table 如果内容是translatable之一)。

我试过使用 Translatable 扩展,但由于它是一个预先存在的数据库和项目,所以这不是一个简单的方法。

如何将请求(或仅传递 _locale)注入我的实体?

非常感谢, 安德里亚

我认为你在 Symfony2 中使用 Doctrine 作为 ORM?

然后看看Doctrine Extensions。该捆绑包为您的实体提供了不同的新行为。 它还有一个非常强大的translatable behavior

在 Symfony2 中集成学说扩展 is not so complicated

如果您不能将 Doctrine Extensions 与您的 Code/Database 一起使用,我会尝试 Doctrine Event Listeners 来开发您自己的可翻译行为。