Hallo, wir bekommen regelmäßig folgende Fehlermeldung: exception 'Shopware\Components\Api\Exception\OrmException' with message 'An exception occurred while executing 'UPDATE s\_articles\_details SET ordernumber = ? WHERE id = ?' with params ["1068", 1237]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1068' for key 'ordernumber'' in /xxx/shop/engine/Shopware/Components/Api/Resource/Resource.php:266 Stack trace: #0 /xxx/shop/engine/Shopware/Components/Api/Resource/Article.php(621): Shopware\Components\Api\Resource\Resource-\>flush() #1 /xxx/shop/engine/Shopware/Components/Api/Resource/Article.php(562): Shopware\Components\Api\Resource\Article-\>update(400, Array) #2 /xxx/shop/engine/Shopware/Controllers/Api/Articles.php(114): Shopware\Components\Api\Resource\Article-\>updateByNumber('1008', Array) #3 /xxx/shop/engine/Library/Enlight/Controller/Action.php(159): Shopware\_Controllers\_Api\_Articles-\>putAction() #4 /xxx/shop/engine/Library/Enlight/Controller/Dispatcher/Default.php(528): Enlight\_Controller\_Action-\>dispatch('putAction') #5 /xxx/shop/engine/Library/Enlight/Controller/Front.php(228): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #6 /xxx/shop/engine/Shopware/Kernel.php(141): Enlight\_Controller\_Front-\>dispatch() #7 /xxx/shop/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #8 /xxx/shop/engine/Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #9 /xxx/shop/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(243): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #10 /xxx/shop/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(260): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #11 /xxx/shop/engine/Shopware/Components/HttpCache/AppCache.php(132): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #12 /xxx/shop/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(189): Shopware\Components\HttpCache\AppCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #13 /xxx/shop/engine/Shopware/Components/HttpCache/AppCache.php(113): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #14 /xxx/shop/shopware.php(109): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #15 {main}
Kann uns evtl. hier jemand weiterhelfen und uns einen Tipp zur Fehlerursache geben? Wir können keinen doppelt angelegten Artikel in der Datenbank finden. Danke!
[quote=“Mogli”]Kann uns evtl. hier jemand weiterhelfen und uns einen Tipp zur Fehlerursache geben? Wir können keinen doppelt angelegten Artikel in der Datenbank finden. [/quote] So ich die Fehlermeldung interpretiere wird versucht einen vorhandenen Artikel (s_articles_details.id = 1237) mit einer schon verwendeten Bestellnummer 1068 zu aktualisieren. Was für eine Schnittstelle verwendest Du um Artikel in den Shop zu bekommen? Das funktioniert nicht. Kannst Du mal bitte folgende Queries ausführen und das Ergebnis hier posten: SELECT \* FROM s\_articles\_details WHERE id = 1237
SELECT \* FROM s\_articles\_details WHERE ordernumber = '1068'
Gruß
Hallo Thomas, danke für deine Antwort. Wir erhalten folgende Ergebnisse auf die Abfragen: SELECT \* FROM s\_articles\_details WHERE id = 1237
id = 1237, articleID = 400, ordernumber = 1008 SELECT \* FROM s\_articles\_details WHERE ordernumber = '1068'
id = 1298, articleID = 418, ordernumber = 1068
Wie ich es vermutet hatte - es wird versucht über die Shopware API (davon gehe ich jetzt mal aus ) die Bestellnummer des Artikels doppelt zu vergeben. Dies verhindert aber die DB Struktur und daher kommt die Fehlermeldung. Gruß