Bei der API in Shopware 6.7.1.0 muss ich eben feststellen, dass bei Call ‚/api/search/product-media/‘ das Feld ‘media’ komplett lerr ist. Laut aktueller Beschreibung für SW 6.7 auf
sollte das nicht der Fall sein? Ist das ein Bug in 6.7.1.0?
Nachtrag: Das Problem ist wohl auch in SW 6.7.1.2 vorhanden. Eben ausprobiert, kein Inhalt bei Feld ‘media’. Oder gibt es beim Aufruf eine neue Syntax?
In den allermeisten Fällen muss man associations manuell laden. Nur wenn ein autoload in den Entities festgelegt ist, dann wird die verbundene Entity automatisch geladen.
(new ManyToOneAssociationField('media', 'media_id', MediaDefinition::class, 'id'))->addFlags(new ApiAware())
Das ist komisch, denn Shopware bringt eine Fehlermeldung:
Uncaught PHP Exception Shopware\Core\Framework\DataAbstractionLayer\Exception\AssociationNotFoundException:
"Can not find association by name media" at FrameworkException.php line 143
Die Fehlermeldung ist wieder weg. Hatte versenhtlich bei einem anderen API-Call ‘associations’ mit angeben, obwohl es hier wohl gar nicht rein gehört. Wäre toll, wenn das in der Doku etwas besser beschrieben würde. Zumal es wohl weitere Änderungen bei der API von SW 6.6 zu SW 6.7 gibt Aber das Thema hier ist erledigt.
Das sind keine Änderungen der API. Das sind Änderungen der EntityDefinition, wo ein autoload entfernt wurde. Macht für dich kein Unterschied, ist technisch gesehen aber ein riesiger Unterschied.
Wenn du verknüpfte Daten benötigst, die nicht zum Entity gehören, dann schreib immer die Assoziation mit dazu, egal ob autoload oder nicht. Dann bist du bei Updates sicher.