2

配列内のアイテムに対して別のエンティティを作成せずに、スカラーの配列を Doctrine エンティティ内のプロパティにマップすることは可能ですか?

状況は次のとおりです。

  • エンティティには、文字列の配列であるプロパティがあります。
  • データは、1 対多の型の関係で別のテーブルに格納する必要があります。
  • Doctrine のarray型を使用することはできません。これは、PHP シリアライゼーションを使用するためです。このデータは、PHP システムと非 PHP システムの両方で読みやすくする必要があります。

エンティティを持つことはやり過ぎのように思えます。別の解決策はありますか?

4

1 に答える 1

2

データは別のテーブルに格納する必要があります

次に、別のエンティティが必要です。

1 対多型の関係を持つ

エンティティがこれを処理します。

エンティティには、文字列の配列であるプロパティがあります

デフォルトではエンティティの配列コレクションがあり、必要に応じて独自の getter メソッドを簡単に記述して、文字列の単純な配列を返すことができます。

エンティティを持つことはやり過ぎのように思えます。

いいえ、ちがいます。

別の解決策はありますか?

車輪の再発明なしではありません。Doctrine には必要なものがすべて揃っており、すぐに使用できます。設計どおりに使用するだけです。別のエンティティを作成し、関係を定義します。

于 2013-04-16T01:22:38.003 に答える