# Speichern einer Entity mit ManyToOne-Association resultiert in Error 500

**URL:** <https://forum.shopware.com/t/speichern-einer-entity-mit-manytoone-association-resultiert-in-error-500/71526>\
**Category:** Programmierung\
**Created:** [12. Dezember 2020 um 21:41 UTC](https://forum.shopware.com/t/speichern-einer-entity-mit-manytoone-association-resultiert-in-error-500/71526 "2020-12-12T21:41:24Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![etoile](https://avatars.discourse-cdn.com/v4/letter/e/9de0a6/32.png) [@etoile](https://forum.shopware.com/u/etoile)\
**Post date:** [15. Dezember 2020 um 20:57 UTC](https://forum.shopware.com/t/speichern-einer-entity-mit-manytoone-association-resultiert-in-error-500/71526/5 "2020-12-15T20:57:20Z")

</div>

Ich muss nochmal hierauf zurückkommen. Jetzt habe ich es wirklich gelöst.

Das Problem saß tatsächlich tiefer: Grund war die ChildDefinition. Ich hatte&nbsp;in Analogie zum&nbsp;ManyToManyAssociationField ein ManyToOneAssociationField eingebaut (mit spiegelbildlichem OneToMannyAssociationField in der “ParentDefinition”). Jedoch war der entscheidende Fehler, dass in der ChildDefinition kein entsprechendes&nbsp;FkField mitdefiniert wurde. Das&nbsp;habe ich nun endlich durch Vergleich mit den funktionierenden TranslationDefinitions&nbsp;herausbekommen. (Vergleiche auch die BundleProductDefinition im&nbsp;[Bundle-Example](https://docs.shopware.com/en/shopware-platform-dev-en/how-to/indepth-guide-bundle/entity-association#entitydefinition), die als Mittler in der ManyToMany-Assoziation fungiert.)&nbsp;

Deswegen gab die API&nbsp;auch nach Shyims Vorschlag bei mir zunächst weiterhin (jedoch andere)&nbsp;Fehlermeldungen aus. Jetzt, wo das FkField definiert ist, funktioniert es tadellos sowohl nach Shyims Methode als auch mittels eines&nbsp;JSON mit \_“parent”: { “id”:“abc123efg…” },&nbsp;\_wobei das Verhalten unterschiedlich ist, wenn die angegebene id in der Datenbank nicht existiert. Die&nbsp;Required-Flag muss dabei aufs FkField, nicht aufs ManyToOne-Field, sonst funktioniert nur die zweite Methode (vgl. [diese Bemerkung](https://forum.shopware.com/discussion/comment/286470/#Comment_286470)). &nbsp;

```
# ChildDefinition.php
...
new ManyToOneAssociationField('parent', 'parent_id', ParentDefinition::class, 'id', false),
(new FkField('parent_id', 'parent_id', ParentDefinition::class))->addFlags(new Required()),
...

// API-Calls per POST (Content-Type = application/json) an /api/v3/etoile-child

// funktioniert (scheitert, wenn kein parent mit angegebener id in Datenbank existiert):
{"name":"Kreiert per Methode 1", "parent_id": "4ab9ee1986c54ed486047d2f9f8c8f93"}

// funktioniert (kreiert neues parent, wenn angegebene id in Datenbank nicht existiert)
{"name":"Kreiert per Methode 2", "parent": {"id": "4ab9ee1986c54ed486047d2f9f8c8f93"}}

```

&nbsp;

---

_[View the full topic](https://forum.shopware.com/t/speichern-einer-entity-mit-manytoone-association-resultiert-in-error-500/71526)._
