hi, ich kann damit die Artikel-Attribute abfrage: $builder = Shopware()-\>Models()-\>createQueryBuilder(); $builder-\>select(array('attribute')) -\>from('Shopware\Models\Attribute\Article', 'attribute');
Jetzt möchte ich aber A. nur bestimmte Spalten abfrage und B. ein DISTINCT auf diese Spalten anwenden. Wie muss mein Select aussehen? ein $builder-\>select(array('DISTINCT attribute.attr1'))
schmeisst mir leider einen Fehler. Wäre für tipps dankbar.
Hi hbee, ich benutze partial um Objekte mit nur bestimmten Feldern zu laden. $builder = $this-\>getRepository()-\>createQueryBuilder('ma'); $builder-\>select(array( 'partial ma.{id, articleId, name, description, descriptionLong, added, changed, highlight, active, availableFrom, availableTo, thumbnailPath, url, averagePoints, averageVotes, tax}', 'partial mat.{id, name, url}', 'prices' )) -\>leftJoin('ma.translations', 'mat', 'WITH', 'mat.mainLang = :mainLang') -\>leftJoin('ma.prices', 'prices') -\>where('ma.articleId = :articleId') -\>andWhere('ma.active = true') -\>setParameter('articleId', $id) -\>setParameter('mainLang', $mainLang) ;
Soweit ich weiß MÜSSTE es auch möglich sein das DISTINCT keyword mit partials zu verwenden; du könntest aber auch einfach ein groupBy benutzen (falls das in deinem Fall noch Sinn macht). Könntest du mal die Fehlermeldung posten, falls du damit nicht weiter kommst? LG Marc
Danke für deine Antwort. Partial ist mir neu. Das schaue ich mir man an, danke Gesendet von meinem iPhone mit Tapatalk