# Gibt es eine "addCategories" Funktion?

**URL:** https://forum.shopware.com/t/gibt-es-eine-addcategories-funktion/45995
**Category:** Programmierung
**Created:** [27. Mai 2017 um 13:16 UTC](https://forum.shopware.com/t/gibt-es-eine-addcategories-funktion/45995 "2017-05-27T13:16:14Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![canetti2](https://avatars.discourse-cdn.com/v4/letter/c/a8b319/32.png) [@canetti2](https://forum.shopware.com/u/canetti2)
#### Post date: [27. Mai 2017 um 13:16 UTC](https://forum.shopware.com/t/gibt-es-eine-addcategories-funktion/45995/1 "2017-05-27T13:16:14Z")

</div>

Hallo,

ein Artikel (articleID bekannt) soll einer Shop-Kateogorie hinzugefügt werden (categoryID bekannt). Gibt es dafür eine simple Funktion - sowas wie “addCategories”?

---

<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: [27. Mai 2017 um 17:51 UTC](https://forum.shopware.com/t/gibt-es-eine-addcategories-funktion/45995/2 "2017-05-27T17:51:56Z")

</div>

Hallo,

&nbsp;

kommt darauf an, was du machen willst. Dir stehen zwei Möglichkeiten zur Verfügung: API und Doctrine.

Die Doctrine Variante (in Deinem Plugin):

```
$em = $this->container->get('models');
$articleRepo = $em->getRepository(Shopware\Models\Article\Article::class);
$article = $articleRepo->findOneBy(array('id' => 4711));
// die folgende Anweisung ist nötig, wenn Du selektierte Objekte wieder speichern willst (siehe Doctrine Doku):
$article->merge();
$categoryRepo = $em->getRepository(Shopware\Models\Category\Category::class);
$category = $categoryRepo->findOneBy(array('id' => 4711));
// auch hier muss gemergt werden, weil Du etwas an der Verbindungstabelle ändern willst:
$category->merge();

// die neue Kategorie an den Artikel anfügen:
$article->addCategory($category);

$em->persist($category);
$em->persist($article);
$em->flush();

```

Ungetestet, sollte so aber laufen. Ersetze einfach 4711 durch jeweils Deine bekannten IDs. n:m Beziehungen haben immer eine ArrayCollection, bei der es auch meistens eine add Methode gibt.

&nbsp;

Für die Methode API bitte am besten die Doku dazu durchlesen:&nbsp;[REST API - Examples using the article resource](https://developers.shopware.com/developers-guide/rest-api/examples/article/)

&nbsp;

&nbsp;

MFG

&nbsp;

derwunner

---

<div class="post-metadata">

### Author: ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)
#### Post date: [27. Mai 2017 um 19:05 UTC](https://forum.shopware.com/t/gibt-es-eine-addcategories-funktion/45995/3 "2017-05-27T19:05:50Z")

</div>

Falls du es über Doctrine machst müsstest du sehr wahrscheinlich den Kategorie-Baum neuaufbauen, da sonst die Kategorie Verknüpfungen nicht da sind.
