Bild laden per API

Hallo!

Ich mache meine ersten Schritte mit Shopware und muss gleich Bilder in die Medienbibliothek einfügen. Da habe ich eine passendende Anleitung gefunden. Das funktioniert. Jetzt ist es aber so, dass ich das selbe Bild nicht nochmal mit dieser Funktion einfügen kann und erhalte eine DuplicatedMediaFileNameException. Logisch. Wie kann ich nun anhand des Bildnamens die entsprechende mediaId auslesen, um sie bei meinem Produkt zu benutzen?
Hier mal mein Ansatz:
$criteria = new Criteria();
$criteria->addFilter(new EqualsAnyFilter(‚name‘, [$fileName]));
$media = $this->container->get(‚media.repository‘)->search($criteria, $context)->getElements();

(liefert mir aber die Fehlermeldung: Call to a member function get() on null)

Und wenn ich schon frage: Ich erstelle Artikel per API, weise danach die entsprechenden mediaIds zu (productMediaRepository). kann aber diese Zuweisung erst nach dem Erstellen des Artikels machen. Das wiederum bedingt aber, dass ich die CoverId des Artikels nachträglich anpassen muss. Muss ich dann das entsprechende Artikel-Array mit der ergänzten CoverId nochmal per upsert() einfügen/ändern? Oder gibt es da eine elegantere Lösung?

Grüße und Danke
Jens

Grüß dich,
ich möchte Dir nicht direkt die Lösung schreiben - learning by trying :slightly_smiling_face:.
Aber der erste Tipp:

$this->container->get()

Damit ist $this->container eben null und in der Klasse nicht als (vererbte) Eigenschaft verfügbar.

Hi!

Mir fehlt die Zeit zum ausprobieren, weswegen ich die Artikel eben nur einmal importiert habe und bei Änderungen dann eben die Medien nicht erneut hochlade. Das hat auch funktioniert.

Gruß