# Falsches Repository vom Container?

**URL:** <https://forum.shopware.com/t/falsches-repository-vom-container/95851>\
**Category:** Programmierung\
**Tags:** programming\
**Created:** [18. August 2022 um 12:35 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851 "2022-08-18T12:35:02Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![lukdiekm](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/lukdiekm/32/17980_2.png) [@lukdiekm](https://forum.shopware.com/u/lukdiekm)\
**Post date:** [18. August 2022 um 12:35 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851/1 "2022-08-18T12:35:02Z")

</div>

Moin!

Ich habe grade rausgefunden, dass ich vom Container eine falsche Dependency bekomme.  
`$container->get('sales_channel.repository');` gibt mir ein `SalesChannelRepositoryDecorator` vom Social-Shopping-Plugin zurück, statt des erwarteten EntityRepository.

Scheinbar gibt es beim Social-Shopping ein `swag_social_shopping_sales_channel.repository` und nun frage ich mich, ob es hier zu „Verwechselungen“ kommen kann und vor allem wie ich das lösen kann.

Hat jemand eine Idee?

---

<div class="post-metadata">

**Author:** ![abdullah](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@abdullah](https://forum.shopware.com/u/abdullah)\
**Post date:** [19. August 2022 um 15:54 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851/2 "2022-08-19T15:54:48Z")

</div>

Hallo @lukdiekm,

anscheinend wird das Repository vom Social Shopping Plugin überschrieben/ersetzt. Solange das Plugin installiert und aktiviert ist, wird es auch so bleiben.

Ob dies zu Fehlern oder ähnliches führen kann hängt von der Implementierung ab.

vg

---

<div class="post-metadata">

**Author:** ![dneustadt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/dneustadt/32/15603_2.png) [@dneustadt](https://forum.shopware.com/u/dneustadt)\
**Post date:** [20. August 2022 um 23:21 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851/3 "2022-08-20T23:21:13Z")

</div>

Das Plugin dekoriert `sales_channel.repository`. Das ist ein übliches [Pattern](https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/adjusting-service). Der Decorator implementiert `EntityRepositoryInterface`. Dieses Interface sollte generell als Type Hint verwendet werden anstatt `EntityRepository`, um Decorations zu erlauben.

---

<div class="post-metadata">

**Author:** ![ebrayce](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/ebrayce/32/18007_2.png) [@ebrayce](https://forum.shopware.com/u/ebrayce)\
**Post date:** [22. August 2022 um 12:01 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851/4 "2022-08-22T12:01:54Z")

</div>

Verwenden Sie EntityRepositoryInterface  
anstelle von EntityRepository

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [22. August 2022 um 12:16 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851/5 "2022-08-22T12:16:41Z")

</div>

Hallo,

EntityRepositoryInterface ist mit Version 6.5.0.0 deprecated, dies ist also keine wirklich gute Lösung. EntityRepository ist schon der richtige Weg (auch mit Hinblick auf ab Version 6.5.0.0) - wäre da nicht das SwagSocialShopping - Plugin (derzeit) im Weg.

Grüße  
Sebastian

---

<div class="post-metadata">

**Author:** ![ebrayce](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/ebrayce/32/18007_2.png) [@ebrayce](https://forum.shopware.com/u/ebrayce)\
**Post date:** [22. August 2022 um 12:38 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851/6 "2022-08-22T12:38:13Z")

</div>

Ja, Sie haben sehr recht. Mir ist aufgefallen, dass die Verwendung von EntityRepositoryInterface diesen Fehler nicht ausgibt.

---

<div class="post-metadata">

**Author:** ![FritzPerson](https://avatars.discourse-cdn.com/v4/letter/f/85e7bf/32.png) [@FritzPerson](https://forum.shopware.com/u/FritzPerson)\
**Post date:** [22. August 2022 um 15:12 UTC](https://forum.shopware.com/t/falsches-repository-vom-container/95851/7 "2022-08-22T15:12:46Z")

</div>

Normalerweise sollte ein Decorator Zugriff auf den decorated Service ermöglichen, z.B. über eine Methode getDecorated().

Außer natürlich da wurde mit der gleichen Sauberkeit gearbeitet, die auch zum Überschreiben der Service-ID geführt hat.
