「ext_translations」テーブルにすべての翻訳を含むテーブルがあります。
翻訳はうまく機能します。問題は次のとおりです。sonata-admin バンドルを介してこれらの翻訳を管理したいのです。
ドキュメント、sonata admin で作業教義拡張を取得する方法を既に見つけました。しかし、私の場合、すべての翻訳に対して1 つのテーブル/エンティティがあります (複数のエンティティに対して)。
したがって、このドキュメントによると: http://www.elao.com/blog/symfony-2/doctrine-2/how-to-manage-translations-for-your-object-using-sonataadminbundle.html属性 (下記参照)?
ext_translations テーブル:
mysql> show columns from ext_translations;
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| locale | varchar(8) | NO | MUL | NULL | |
| object_class | varchar(255) | NO | | NULL | |
| field | varchar(32) | NO | | NULL | |
| foreign_key | varchar(64) | NO | | NULL | |
| content | longtext | YES | | NULL | |
+--------------+--------------+------+-----+---------+----------------+
MappedBy:
/**
* @ORM\OneToMany(targetEntity="ProfileTranslation", mappedBy="object", cascade={"persist", "remove"})
*/
protected $translations;
ここで問題を理解している限り、「私は複合キー (objectclass (エンティティ) + name (属性) +foreignKey (エンティティの ID)) を持っているので、'mappedBy' はこれをどのように参照すればよいでしょうか?
翻訳可能なエンティティごとに追加のクラスを作成したくありません (上記のチュートリアルのように)