ich bekomme beim Flushen in der Media Resource folgende Meldung:
exception":„[object] (Shopware\Components\Api\Exception\OrmException(code: 0): A new entity was found through the relationship ‚Shopware\Models\Media\Media#album‘ that was not configured to cascade persist operations for entity: Shopware\Models\Media\Album@000000005cc0335b0000000014da4dfd. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(…,cascade={"persist"}). If you cannot find out which entity causes the problem implement ‚Shopware\Models\Media\Album#__toString()‘ to get a clue. at /home/vagrant/www/alpha/vendor/shopware/shopware/engine/Shopware/Components/Api/Resource/Resource.php:239, Doctrine\ORM\ORMInvalidArgumentException(code: 0): A new entity was found through the relationship ‚Shopware\Models\Media\Media#album‘ that was not configured to cascade persist operations for entity: Shopware\Models\Media\Album@000000005cc0335b0000000014da4dfd. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(…,cascade={"persist"}). If you cannot find out which entity causes the problem implement ‚Shopware\Models\Media\Album#__toString()‘ to get a clue. at /home/vagrant/www/alpha/vendor/doctrine/orm/lib/Doctrine/ORM/ORMInvalidArgumentException.php:102)“}
Die Media Resource hole ich mir per DI
$this-\>mediaResource-\>create($params);
So ein ähnliches Problem besteht auch beim anlegen von Produkten.
Wird eine Abhängigkeit vielleicht mit dem Media-Objekt zusammen erstellt?
Was mir da gerade auffällt: Es existiert in Deinem Screenshot ein Media::album, Media::albumId ist aber null. Versuch mal statt des Album-Objekts nur die Id des Albums am Media zu schreiben.
Das löschen der Bilder wirft bei mir seit der Version 5.6 Fehler, die vorher nicht da waren? Hat da jemand Infos drüber?
Hier unsere Meldung:
Exception: A new entity was found through the relationship ‘Shopware\Models\Article\Image#media’ that was not configured to cascade persist operations for entity: Shopware\Models\Media\Media@000000005deeb7c400000000097d5aba. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(…,cascade={“persist”}). If you cannot find out which entity causes the problem implement ‘Shopware\Models\Media\Media#__toString()’ to get a clue.
Ich nehme an, irgendetwas wurde bei Doctrine geändert, denn in den Models gab es von 5.5 auf 5.6 keine großen Änderungen die die Fehler begünstigen könnten.
@ppe-stores Ich habe mal versucht einen Test-Case für diesen Falll zu schreiben (hier: https://github.com/soebbing/shopware/blob/test-multiple-media-deletions/tests/Functional/Components/Api/MediaTest.php#L180). Dieser Test erzeugt erst zwei Medien über die Resource und löscht sie anschließend beide nacheinander wieder. Auf der aktuellen 5.6er Branch (die der Version 5.6.1 entspricht) funktioniert das in diesem Test problemlos. Gibt es vielleicht noch etwas das hier fehlt damit der Test fehlschlägt?
Gibt es vielleicht irgendein Plugin was hier noch reingreift oder auf ein Event am Medium reagiert? Ich bin Dir für jeden Hinweis wie der Fehler entstehen könnte dankbar!
Ich habe bei einem Kunden auch urplötzlich diese Probleme festgestellt. Auch bei Verwendung der internen API gab es dann Fehler bei Doctrine. INSERTs statt UPDATEs in den Datenbanken etc. Auch immer wieder der obere Fehler.
Nun haben wir die Lösung gefunden: Das Shopware Sicherheitsplugin ist dafür zuständig, diese Fehler zu erzeugen. Das haben wir durch Deaktivieren des Plugins herausgefunden und da wir das exakt gleiche Problem bei 3 Shops hatten, wo bei allen das Deaktivieren des Sicherheitsplugins geholfen hat, kann ich zu 99,9% sagen, dass es daran liegt.
Man müsste mal schauen, welcher Fix an der API was geändert hat und speziell diesen dann deaktivieren.