# Product Entity erweitern (many-to-one)

**URL:** <https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419>\
**Category:** Programmierung\
**Created:** [29. August 2019 um 14:41 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419 "2019-08-29T14:41:01Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Almare](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Almare](https://forum.shopware.com/u/Almare)\
**Post date:** [29. August 2019 um 14:41 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/1 "2019-08-29T14:41:01Z")

</div>

Ich habe mich durch die Doku gearbeitet aber keine wirklich Antwort auf meine Frage gefunden, darum jetzt mal hier.

Ich hab folgendes vor:

Ich möchte das Product Entity erweitern um eine Referenz auf mein Custom Translated Entity (many-to-one). Meine “Annahme” bisher war das in der Product Tabelle eine weitere Spalte hinzugefügt würde ähnlich der Attribute in den model Tabellen welche die Referenz aufnehmen (product\_media\_id, tax\_id, …). Diese Annahme scheint falsch zu sein. Soweit so gut.

Muss ich eine eigenes Relation Entity mit entsprechender Tabelle erstellen, die diese Beziehung abbildet, oder muss ich ein custom field erstellen? Wobei custom fields keine Beziehungen unterstützen (laut Doku). Leider gibt das BundleExample auch keinen Hinweis, da es eine many-to-many abbildet. Hier ist klar das es ohne eine weitere Tabelle nicht funktionieren kann.

Kann mir jemand auf die Sprünge helfen. Danke

---

<div class="post-metadata">

**Author:** ![Almare](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Almare](https://forum.shopware.com/u/Almare)\
**Post date:** [9. September 2019 um 15:21 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/2 "2019-09-09T15:21:56Z")

</div>

bump

---

<div class="post-metadata">

**Author:** ![Almare](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Almare](https://forum.shopware.com/u/Almare)\
**Post date:** [12. September 2019 um 16:09 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/3 "2019-09-12T16:09:43Z")

</div>

Also für andere die danach suchen. Die ProductExtension Klasse muss ereitert werden um ein FKField und ein ManyToOneField. Hier kurz der demo code.

```
public function extendFields(FieldCollection $collection): void
{
    $collection->add(
        new ManyToOneAssociationField(
            'custom',
            'test_custom_id',
            CustomDefinition::class,
            'id',
            true
        )
    );

    $collection->add(
        new FkField(
            'test_custom_id',
            'testCustomId',
            CustomDefinition::class
        )
    );
}

```

&nbsp;

HIer kurz der Twig Teil für den Admin Bereich

```
{% block sw_product_detail_attribute_sets %}
    {% parent() %}
        
            
            
        
{% endblock %}

```

Was aktuell noch fehlt ist das laden und speichern der Auswahl des Entities. Werde das ergänzen sobald ich herausgefunden habe wie das läuft. Es kommt evt. etwas Doku von Shopware zu diesem Thema.

---

<div class="post-metadata">

**Author:** ![IBEHCDF](https://avatars.discourse-cdn.com/v4/letter/i/a9adbd/32.png) [@IBEHCDF](https://forum.shopware.com/u/IBEHCDF)\
**Post date:** [29. November 2019 um 12:14 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/4 "2019-11-29T12:14:31Z")

</div>

Hast du da schon etwas herausgefunden?

---

<div class="post-metadata">

**Author:** ![silvio123](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@silvio123](https://forum.shopware.com/u/silvio123)\
**Post date:** [10. September 2020 um 07:59 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/5 "2020-09-10T07:59:18Z")

</div>

Hi,

gibt es hier neue Infos?

Ich möchte das Gleiche einbauen und finde auch keine Lösung.

&nbsp;

---

<div class="post-metadata">

**Author:** ![Almare](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Almare](https://forum.shopware.com/u/Almare)\
**Post date:** [24. Februar 2021 um 17:25 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/6 "2021-02-24T17:25:05Z")

</div>

Das Laden der Entity hab ich über einen Subscriber gemacht und dort das Criteria Object um meine Assoziation ergänzt. Das funktioniert soweit…&nbsp; Das hab ich übrigens auch im Vue Code gemacht.

---

<div class="post-metadata">

**Author:** ![opalion](https://avatars.discourse-cdn.com/v4/letter/o/a587f6/32.png) [@opalion](https://forum.shopware.com/u/opalion)\
**Post date:** [11. März 2021 um 18:04 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/7 "2021-03-11T18:04:27Z")

</div>

Custom Fields unterstützen keine Beziehungen, weil die Werte in der Tabelle product\_translation im Feld custom\_fields als JSON String abgespeichert werden. Darüber kann man dann eben nicht joinen.

Auch wir haben eine ähnliche Anforderung. Möchten der product Tabelle ein weiteres Feld „supplier\_id“ hinzufügen, dass dann auch auf eine neue Tabelle joinen soll.

Wie hast du @Almare das Feld in der products Tabelle hinzu bekommen, über eine normale Migration?  
Und das extendsFields() gehört in die Klasse, die die Entität beschreibt? Hättest du ev. ein Code Snippet, wo die addAssocation() hinein kommen muss im Subscriber? Danke dir für deine Unterstützung.

---

<div class="post-metadata">

**Author:** ![trade](https://avatars.discourse-cdn.com/v4/letter/t/5fc32e/32.png) [@trade](https://forum.shopware.com/u/trade)\
**Post date:** [11. März 2021 um 18:19 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/8 "2021-03-11T18:19:49Z")

</div>

Schau Dir mal das „Bundles Example“ von Shopware an [https://docs.shopware.com/en/shopware-platform-dev-en/how-to/indepth-guide-bundle](https://docs.shopware.com/en/shopware-platform-dev-en/how-to/indepth-guide-bundle), da gibt es ein ganz gutes Beispiel dazu

---

<div class="post-metadata">

**Author:** ![opalion](https://avatars.discourse-cdn.com/v4/letter/o/a587f6/32.png) [@opalion](https://forum.shopware.com/u/opalion)\
**Post date:** [22. April 2021 um 10:26 UTC](https://forum.shopware.com/t/product-entity-erweitern-many-to-one/61419/9 "2021-04-22T10:26:59Z")

</div>

Leider gibt es diese Doku zum Bundle Plugin und die ganzen How-to’s nicht mehr, da die Developer Doku von Shopware relaunched wurde. Kommt das wieder oder sind diese ganzen Infos ev. woanders auffindbar @Moritz_Naczenski ?
