まず、次の DB スキーマがあります。

をcategories含む がありますproducts。また、 ( 「赤」、「緑」など)attributesを含む(「色」など)もあります。values
最後に、と の間に ManyToMany 関係があるため、 とをに関連付けるtableattributesをproducts介してこれらを に割り当てることができます。このテーブルは Doctrine によって自動的に作成されます。ProductAttributeValuesattribute valueproductProductAttributeValue
このようにして、 (ルノー・メガーヌ、フォード・フォーカスなど)を搭載したcategory(車)を持つことができます。productsそれぞれproductが複数attributes持つことができますvalues(色: グレー、エンジンの種類: ガソリンなど)。この最後の例では、色は でAttribute、グレーはAttributeValueです。エンジンの種類は別Attributeで、ガソリンはAttributeValueです。
エンティティにデータ (カテゴリ、属性、属性値、製品) を入力したら、関連付けるフォームを作成attributesしvalues、特定のproduct.
多かれ少なかれ、フォームは次のようになります。

したがって、「車」にいるので、これに属するcategoryすべてのもの(エンジンと色) を表示する必要があります。同時に、これらすべてを表示する必要があります(エンジンはガソリン、ディーゼル、電気…、色はグレー、赤、青…)。attributescategoryvaluesattributes