Query Artikel mit Bild

Heyho - ich bin derzeit am frickeln und überlege, wie ich per SQL Query das passende Bild bekomme. Aktuell hole ich mir alle Artikel über Shopware()-\>Db()-\>query('SELECT \* FROM s\_articles'); Bei den ganzen Tabellen bin ich allerdings gerade überrumpelt, wo ich die Zuordnung der entsprechenden Bilder finde :wtf:

Ernsthaft?! \Shopware\Models\Article\Article /\*\* \* INVERSE SIDE \* \* @var ArrayCollection \* \* @Assert\Valid \* \* @ORM\OneToMany(targetEntity="Shopware\Models\Article\Image", mappedBy="article", orphanRemoval=true, cascade={"persist"}) \* @ORM\OrderBy({"position" = "ASC"}) \*/ protected $images; Viele Grüße

1 Like

[quote=“Aquatuning GmbH”]Ernsthaft?! \Shopware\Models\Article\Article /\*\* \* INVERSE SIDE \* \* @var ArrayCollection \* \* @Assert\Valid \* \* @ORM\OneToMany(targetEntity="Shopware\Models\Article\Image", mappedBy="article", orphanRemoval=true, cascade={"persist"}) \* @ORM\OrderBy({"position" = "ASC"}) \*/ protected $images; Viele Grüße[/quote] Ja hatte ich vorhin auch gesehen mitm query builder, da waren meine Finger wieder zu schnell an der Tastatur :x Danke dennoch :thumbup:

@Aquatuning GmbH Hast du ne Ahnung warum er mir immer den Fehler raus haut [quote][Doctrine\ORM\Mapping\MappingException] The target-entity Shopware\Models\Attribute\Article cannot be found in ‚Shopware\Models\Article\Article#attribute‘. [/quote] bei $builder = Shopware()-\>Models()-\>createQueryBuilder(); $builder-\>select(array('articles', 'images')) -\>from('Shopware\Models\Article\Article', 'articles') -\>leftJoin('articles.images', 'images') -\>getQuery() -\>getArrayResult(); Auch wenn ich mir über die Console alles ausgeben lassen, spukkt er massig Fehler raus. php console orm:info Found 134 mapped entities: [FAIL] Shopware\Models\Article\Article The target-entity Shopware\Models\Attribute\Article cannot be found in 'Shopware\Models\Article\Article#attribute'. Und hier: http://d.pr/i/1cuPI

Äääh… Gute Frage. Cache hast du bestimmt schon gelöscht und neu generieren lassen ^^ Um an Bilder zu kommen würde ich sowieso eine Methode aus der repository oder das shopware bundle nutzen. Probier das mal aus. Viele Grüße

1 Like

[quote=“Aquatuning GmbH”]Äääh… Gute Frage. Cache hast du bestimmt schon gelöscht und neu generieren lassen ^^ Um an Bilder zu kommen würde ich sowieso eine Methode aus der repository oder das shopware bundle nutzen. Probier das mal aus. Viele Grüße[/quote] Du meinst das ganz normale Cache leeren ? Das mache ich alle fut lang :x Webserver hatte ich bereits restartet, APCu Cache sollte damit geleert sein. Hatte es gestern Nacht auch noch versucht mit $repo = Shopware()-\>Models()-\>getRepository('Shopware\Models\Article\Article'); //creates an empty query builder object $builder = $repo-\>createQueryBuilder(array('articles', 'images')) -\>from('Shopware\Models\Article\Article', 'articles') -\>leftJoin('articles.img', 'images'); //get generated query object from the builder object $result = $builder-\>getQuery(); $result-\>setHydrationMode(\Doctrine\ORM\AbstractQuery::HYDRATE\_ARRAY); Same error … :frowning:

Probier mal die repository Methoden - zb getArticleImagesQuery() oder getArticleCoverImageQuery(). Gibts den Fehler auch, wenn du das bundle nutzt? $article = $container-\>get('shopware\_storefront.product\_service')-\>get( "12345", $container-\>get('shopware\_storefront.context\_service')-\>getProductContext() ); Viele Grüße

1 Like

Der schmeisst mir den Fehler sobald ich ->getArrayResult(); nutze :wtf:

Und im cache Ordner liegt ein korrektes article attribute model?! Viele Grüße

1 Like

Okay habe den Fehler gefunden. Ich hatte eine env Variable gesetzt von „dev“. Nachdem löschen dieser env Variabel + Cache leeren funktioniert es nun :thumbup: :slight_smile: