# extend sw-entity-many-to-many-select item mit association

**URL:** <https://forum.shopware.com/t/extend-sw-entity-many-to-many-select-item-mit-association/69665>\
**Category:** Programmierung\
**Created:** [17. September 2020 um 09:35 UTC](https://forum.shopware.com/t/extend-sw-entity-many-to-many-select-item-mit-association/69665 "2020-09-17T09:35:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [17. September 2020 um 09:35 UTC](https://forum.shopware.com/t/extend-sw-entity-many-to-many-select-item-mit-association/69665/1 "2020-09-17T09:35:38Z")

</div>

Ich habe eine Entity `store`, die eine ManyToMany Association zur Entity `buch` hat und die hat wiederum eine ManyToOne Association zu `language`. Viele Bücher, können in beliebig vielen Stores sein. Jedes Buch ist in einer bestimmten Sprache.

Jetzt möchte ich im Adminbereich, den Stores ihre Bücher zuweisen, das ist ja recht einfach und funktioniert auch:

Jetzt habe ich das Problem, wenn das Buch in beiden Sprachen gleich heißt, ich zwei mal den selben Namen ausgegeben bekomme und nicht unterscheiden kann, in welcher Sprache welches Buch ist. Dazu würde ich gerne in dem Result-Container den Namen + Spache ausgeben. Leider wird die Association in den Results nicht geladen, sondern nur die `languageId`.

Die Komponente liegt hier: `Resources/app/administration/src/app/component/form/select/entity/sw-entity-many-to-many-select/index.js`

Auch wenn ich die Assiciation manuell hinzugüge, ist `searchResult` trozdem noch ohne, auch `this.entityCollection` ist leer:

```
import template from './my-plugin-store-books-select.html.twig';

const { Component } = Shopware;
const { Criteria } = Shopware.Data;

Component.extend('my-plugin-store-books-select', 'sw-entity-many-to-many-select', {
    template,

    methods: {
        findAssignedEntities(ids, searchResult) {
            const criteria = new Criteria();
            criteria.setIds(ids);
            criteria.addAssociation('language');
            return this.repository.searchIds(criteria, this.entityCollection.context).then((assigned) => {
                assigned.data.forEach((id) => {
                    if (!this.entityCollection.has(id)) {
                        this.entityCollection.add(searchResult.get(id));
                    }
                });
                console.log(searchResult);
                console.log(this.entityCollection);

                this.displaySearch(searchResult);
                this.isLoading = false;

                return searchResult;
            });
        },
    }
});

```

Ich weiß nicht, an welche Stelle ich die Association hinzugügen muss, damit ich an die Sprache komme 😕

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [21. September 2020 um 05:54 UTC](https://forum.shopware.com/t/extend-sw-entity-many-to-many-select-item-mit-association/69665/2 "2020-09-21T05:54:27Z")

</div>

hilfe

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [23. September 2020 um 06:14 UTC](https://forum.shopware.com/t/extend-sw-entity-many-to-many-select-item-mit-association/69665/3 "2020-09-23T06:14:18Z")

</div>

Habe ich das unverständlich formuliert?

Also, ich möchte die vuejs-Komponente `sw-entity-many-to-many-select` so modifizieren, dass wenn irgendwo Items in der Komponente geladen werden (über die Komponentensuche, on init etc), eine zusätzliche many-to-one Association des Items geladen wird, in meinem Fall `language`. Dann soll das Label um den Namen dieser Entity erweitert werden (das ist soweit kein Problem).
