# Vue JS - 2 Repositorys in eine Tabelle laden

**URL:** <https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878>\
**Category:** Programmierung\
**Created:** [18. Februar 2021 um 09:42 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878 "2021-02-18T09:42:23Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Federico](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/federico/32/14491_2.png) [@Federico](https://forum.shopware.com/u/Federico)\
**Post date:** [18. Februar 2021 um 09:42 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/1 "2021-02-18T09:42:23Z")

</div>

Guten Morgen zusammen,

ich versuche gerade einmal das customerRepository und customerAddressRepository in eine Tabelle in der Administration zu laden. Leider greift immer nur ein Repository, kann mir da jemand auf die sprünge helfen?

Mein Code sieht wie folgt aus:

**list.js**

```
_import_ template _from_ './swag-bundle-list.html.twig'; _const_ { Component } = Shopware; _const_ { Criteria } = Shopware.Data; Component.register('swag-bundle-list', { template, inject: ['repositoryFactory'], metaInfo() { _return_ { title: _this_.$createTitle() }; }, data() { _return_ { repository: _null_, customerRepository: _null_, customerAddressRepository: _null_, }; }, computed: { columns() { _return_ _this_.getMRDColumns(); } }, methods: { getMRDColumns() { _return_ [{ property: 'firstName', dataIndex: 'firstName', label: 'Vorname', primary: _true_, }, { property: 'lastName', dataIndex: 'lastName', label: 'Nachname' }, { property: 'lastLogin', dataIndex: 'lastLogin', label: 'Letzter Login' }, { property: 'phoneNumber', dataIndex: 'phoneNumber', label: 'Telefonummer' },]; } }, created() { _this_.repository = _this_.repositoryFactory.create('customer'); _this_.repository .search(_new_ Criteria(), Shopware.Context.api) .then((result) =\> { _this_.customerRepository = result; }); _this_.repository = _this_.repositoryFactory.create('customerAddressService'); _this_.repository .search(_new_ Criteria(), Shopware.Context.api) .then((result) =\> { _this_.customerAddressRepository = result; }); } }); 

```

&nbsp;

**list.html.twig**

```
 {% _block_ swag\_bundle\_list %} <sw-page>class="swag-bundle-list"&gt;
        {% <em>block </em>swag_bundle_list_smart_bar_actions %}

        {% <em>endblock </em>%}

        <template>slot="content"&gt;
            {% <em>block </em>swag_bundle_list_content %}
                <sw-entity-listing>:items="customerRepository"
                        <em>:items</em>="customerAddressRepository"
                        <em>:repository</em>="repository"
                        <em>:showSelection</em>="false"
                        <em>:columns</em>="columns"&gt;
                </sw-entity-listing>
            {% <em>endblock </em>%}

        </template>
    </sw-page> {% _endblock_ %}

```

**Live: Telefonnummer bleibt leider leer …**

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/e/e6bc3c5b9e6fa0ca555b194632df3227ebe95e13.png)

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [18. Februar 2021 um 09:48 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/2 "2021-02-18T09:48:54Z")

</div>

Lad doch nur die Addresses mit Assoziation zum Customer

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [18. Februar 2021 um 09:50 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/3 "2021-02-18T09:50:27Z")

</div>

```
_this_.repository .search((_new_ Criteria()).addAssociation('customer')

 , Shopware.Context.api) .then((result) =\> { _this_.customerAddressRepository = result; });
```

---

<div class="post-metadata">

**Author:** ![Federico](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/federico/32/14491_2.png) [@Federico](https://forum.shopware.com/u/Federico)\
**Post date:** [18. Februar 2021 um 09:51 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/4 "2021-02-18T09:51:23Z")

</div>

Danke für die schnelle Antwort 🙂

Wie darf ich das verstehen, bin noch ned so lange dabei? 😃

---

<div class="post-metadata">

**Author:** ![Federico](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/federico/32/14491_2.png) [@Federico](https://forum.shopware.com/u/Federico)\
**Post date:** [18. Februar 2021 um 09:55 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/5 "2021-02-18T09:55:52Z")

</div>

Jetzt bekomme ich garkeine auflistung mehr?

```
 created() { _this_.repository .search((_new_ Criteria()).addAssociation('customer'), Shopware.Context.api) .then((result) =\> { _this_.customerAddressRepository = result; }); }

```

list.html.twig

```
 {% _block_ swag\_bundle\_list %} <sw-page>class="swag-bundle-list"&gt;
        {% <em>block </em>swag_bundle_list_smart_bar_actions %}

        {% <em>endblock </em>%}

        <template>slot="content"&gt;
            {% <em>block </em>swag_bundle_list_content %}
                <sw-entity-listing>:items="customerAddressRepository"
                        <em>:repository</em>="repository"
                        <em>:showSelection</em>="false"
                        <em>:columns</em>="columns"&gt;
                </sw-entity-listing>
            {% <em>endblock </em>%}

        </template>
    </sw-page> {% _endblock_ %}
```

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [18. Februar 2021 um 09:56 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/6 "2021-02-18T09:56:34Z")

</div>

Das ist ganz einfach. in der Criteria Variable kannst du Filter und Assoziationen hinzufügen. Wenn du eine Assoziation zum Customer einfügst, dann kannst du im Tempate den Wert mit {{ item.phoneNumber }} … {{ item.customer.email }} etc ausgeben. Datentabellen aus zwei Repos mischen geht nicht. Zumal auch `this.repository` nicht neu definiert werden darf.

---

<div class="post-metadata">

**Author:** ![Federico](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/federico/32/14491_2.png) [@Federico](https://forum.shopware.com/u/Federico)\
**Post date:** [18. Februar 2021 um 10:00 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/7 "2021-02-18T10:00:05Z")

</div>

Okey ich verstehe was du mir sagen willst aber kann es nicht umsetzten, hab gestern mit Vue JS angefangen … xd

Könntest du mir ein Beispiel an meinem Code zeigen, dann kann ich mir dass ansehen und verstehen was gemacht wird?

Das wäre mega nett 🙂

---

<div class="post-metadata">

**Author:** ![Federico](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/federico/32/14491_2.png) [@Federico](https://forum.shopware.com/u/Federico)\
**Post date:** [18. Februar 2021 um 10:24 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/8 "2021-02-18T10:24:30Z")

</div>

addAssociation ist keine gültige Funktion oder Methode? 😮

&nbsp;

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/4/4954ebd20c70c15eeb505c6906988bb8388446f5.png)

---

<div class="post-metadata">

**Author:** ![DMH](https://avatars.discourse-cdn.com/v4/letter/d/74df32/32.png) [@DMH](https://forum.shopware.com/u/DMH)\
**Post date:** [10. Februar 2022 um 18:59 UTC](https://forum.shopware.com/t/vue-js-2-repositorys-in-eine-tabelle-laden/72878/9 "2022-02-10T18:59:18Z")

</div>

Moin @Federico,  
hast du deine Fragestellung gelöst? Ich stehe gerade vor der selben Frage. Ich möchte Bestellungen nach Kategorie und Kaufdatum filtern.  
+Zeige mir alle Bestellungen, die „Büromöbel“ enthalten und zwischen xx.xx.xxxx & xx.xx.xxxx gekauft wurden
