# Freitextfeld multi\_selection und REST Api

**URL:** <https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950>\
**Category:** Programmierung\
**Created:** [17. Juli 2017 um 08:02 UTC](https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950 "2017-07-17T08:02:29Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [17. Juli 2017 um 08:02 UTC](https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950/1 "2017-07-17T08:02:29Z")

</div>

Gibt es Beispiele wie ich ein multi\_selection Attribut mit custom Model in und aus der Resource bringe?

---

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [17. Juli 2017 um 08:37 UTC](https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950/2 "2017-07-17T08:37:08Z")

</div>

Ok, da ich das Teil per code angelegt habe, hat es zwar im Shop überall verwenden können, aber in der API war es noch nicht bereitgestellt. Hab dann per Hand mal die Models generiert, und schon wurde es in der API bereitsgestellt und get, update etc… ging. Nun hab ich noch das Problem, dass die Dinger halt mit den IDs abgespeichert “|id1|id2|…” werden, was ja auch ok, nur wenn ich halt die IDs nicht weiß und nen objekt das der zugrundeliegenden Entity entspricht, wäre es wirklich schön wenn die API die Teile gleich anlegen würde anstatt NULL einzutragen.

&nbsp;

Wie bekomm ich das am Besten hin wenn ich die IDs nicht wissen kann?

---

<div class="post-metadata">

**Author:** ![derwunner](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@derwunner](https://forum.shopware.com/u/derwunner)\
**Post date:** [17. Juli 2017 um 09:50 UTC](https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950/3 "2017-07-17T09:50:57Z")

</div>

Hallo,

&nbsp;

ich hoffe, ich hab deine Fragestellung richtig verstanden: Wenn Du bereits die zugrunde liegenden Model Objekte hast, nur ohne Datenbank-ID und Du weißt, dass sie genauso in der Datenbank stehen, dann musst Du doch einfach nur noch einen SELECT Query abfeuern und das ganze dann wieder in Deine vorhandenen Objekte mergen. Leg Dir dafür am besten eine neue Methode in dem dafür vorgesehenen Repository an.

&nbsp;

&nbsp;

MFG

&nbsp;

derwunner

---

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [17. Juli 2017 um 10:03 UTC](https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950/4 "2017-07-17T10:03:32Z")

</div>

Das hatte ich dann auch letzendlich vor&nbsp;aber irgendwie bekomm ich die Artikel-Api nicht überschrieben, bzw find kein passendes event/hook.

&nbsp;

Ok vielleicht istd as etwas mehr Anschaulich: Ich hab ein custom Model Tag, mit drei Feldern. ID, Name und Description. Das wurde per multi\_selection auf das Attributfeld ln\_article\_tags gelegt. Wenn ich nun dem Artikel ein neues Tag hinzufüge (per Backend oder per Code) schreibt er in ln\_article\_tags |1| rein. Wenn ich ein weiteres hinzufüge wird daraus |1|2| was ja soweit ok ist. Ich bekomme es im Front und Backend hin und herreferenziert. Nun ist das Problem, dass er im API get halt auch nur “lnArticleTags”: “|1|2|” ausgibt (obwohl der Standard hier ohne weiteres die aufgelösten objekte ausgeben könne, aber naja sei’s drum). Und auch umgekehrt erwartet Shopware bei dem put/post die IDs und nicht fertige Objekte. Also das hier: “lnArticleTags”: [{ “name”: “SHORT”, “description”: “Kurz” }, { “name”: “METAL”, “description”: “Metall” }] akzeptiert er nicht (obwohl der Standard ohne weiteres die Objekte auflösen könnte. Das einzige was mir einfallen würde, wenn ich das Feld id rausschmeisse und name als Schlüssel benutze. Mach ich aber relativ ungern.&nbsp;

---

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [17. Juli 2017 um 11:20 UTC](https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950/5 "2017-07-17T11:20:11Z")

</div>

Ok, ich häng mich hier rein

```
 'Enlight\_Controller\_Action\_PreDispatch\_Api\_Articles' 'Enlight\_Controller\_Action\_PostDispatch\_Api\_Articles'

```

und modifizier data aus der&nbsp;view, bis ich was besseres hab 🙂

---

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [17. Juli 2017 um 12:22 UTC](https://forum.shopware.com/t/freitextfeld-multi-selection-und-rest-api/46950/6 "2017-07-17T12:22:44Z")

</div>

Manchmal steht man auch aufm Schlauch \_-\_

[https://developers.shopware.com/developers-guide/rest-api/extend-api-resource/](https://developers.shopware.com/developers-guide/rest-api/extend-api-resource/)

getList, getOne und prepareAssociatedData dementsprechend überschrieben und dann klappts. Ganz ohne postDispatch request body datenmanipulation ^^
