私は、1つまたは複数の「カテゴリ」を持つ「リスティング」エンティティを持っています。 各「カテゴリ」には0個以上の「フィールド」があります。各「フィールド」には1つ以上の「カテゴリ」があります。 "リスト"の各 "カテゴリ"の "フィールド"ごとに "値"を追加したいと思います。ここでDoctrine多対多リレーション
は、既存の関係である:ここでは
Listing <--1:N--> ListingCategory <--N:1--> Category
Category <--1:N--> CategoryField <--N:1--> Field
は問題関係である:ここでは
Listing <----> Category <----> Field <--X--> Value
は、教義のエンティティである: ...
class Listing
{
/**
*
* @ORM\ManyToMany(targetEntity="Category", inversedBy="listings")
* @ORM\JoinTable(name="listing_category",
* joinColumns={@ORM\JoinColumn(name="listing_id", referencedColumnName="id", onDelete="CASCADE")},
* inverseJoinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="id")}
*)
**/
private $categories;
...
class Category
{
/**
* @ORM\ManyToMany(targetEntity="Listing", mappedBy="categories")
**/
private $listings;
/**
* @ORM\ManyToMany(targetEntity="Field", mappedBy="categories")
*/
private $fields;
...
class Field
{
/**
* @ORM\ManyToMany(targetEntity="Category", inversedBy="fields")
* @ORM\JoinTable(name="category_field",
* joinColumns={@ORM\JoinColumn(name="field_id", referencedColumnName="id", onDelete="CASCADE")},
* inverseJoinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="id")}
*)
**/
private $categories;
...
class Value
{
//What should be the relations?
使用事例:
- カテゴリ1は、フィールド1
- Listing1は、フィールド1のための範疇と値1を持っています
- Li sting2には、Field1のCategory1とValue2があります。
この質問が匿名でコメントやコメントなしで投票された理由を知ることができますか?絶対に建設的ではない。 – Tsounabe