Moin Zusammen, ich tue mir grad ein wenig schwer mit dem Titel des Topics… es geht um folgendes: Ich wollte ein Script bauen, dass via API den Lagerbestand aktualisiert, bin dabei aber auf folgendes gestossen: Folgender Aufruf braucht über 30 Sekunden (dann kommt der PHP-Timeout): $builder = $this-\>getRepository()-\>getArticleQueryBuilder($id); $builder-\>addSelect('supplier', 'mainDetailAttribute') -\>leftJoin('article.supplier', 'supplier') -\>leftJoin('mainDetail.attribute', 'mainDetailAttribute'); $article = $builder-\>getQuery()-\>getOneOrNullResult(self::HYDRATE\_OBJECT);
Änder ich das ein wenig ab, bekomm ich binnen einer Sekunde mein Resultat: $builder = $this-\>getRepository()-\>getArticleQueryBuilder($id); $builder-\>addSelect('supplier', 'mainDetailAttribute') -\>leftJoin('article.supplier', 'supplier') -\>leftJoin('mainDetail.attribute', 'mainDetailAttribute'); $article = Shopware()-\>Db()-\>fetchAll($builder-\>getQuery()-\>getSQL(), array($id)
Woran kann das liegen? Und hat jemand dafür eine(n) Lösung/Workaround? Verwendete Shopware-Version ist 4.1.2. Betroffene Datei: ./engine/Shopware/Controllers/Api/Articles.php (Und $id ist in beiden Beispielen 1 =))