Nach einem großen Import, möchte ich alle Artikel die nicht im Import behandelt wurden inaktiv setzen, dazu hole ich eine Liste mit folgendem Code:
$params = array(
'filter' => array(
array(
'property' => 'id',
'expression' => 'NOT IN',
'value' => $ids,
),
array(
'property' => 'supplierID',
'value' => $this->supplierId,
)
)
);
$articles = $this->sw->get('articles', $params);
Die $params sehen so aus:
array(1) {
[„filter“]=>
array(2) {
[0]=>
array(3) {
[„property“]=>
string(2) „id“
[„expression“]=>
string(6) „NOT IN“
[„value“]=>
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
}
[1]=>
array(2) {
[„property“]=>
string(10) „supplierID“
[„value“]=>
int(1)
}
}
}
Aber die API antwortet:
Fatal error: Uncaught Doctrine\ORM\Query\QueryException: SELECT article, mainDetail, attribute, mainDetail.lastStock FROM Shopware\Models\Article\Article article LEFT JOIN article.mainDetail mainDetail LEFT JOIN mainDetail.attribute attribute WHERE article.id NOT IN (:id5c98b870cb1a4) AND article.supplierID LIKE :supplierID5c98b870cb5a4 in /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:41
Stack trace:
#0 /vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(483): Doctrine\ORM\Query\QueryException::dqlError('SELECT article,...')
#1 /vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(758): Doctrine\ORM\Query\Parser->semanticalError('line 0, col 241...', Array)
#2 /vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(279): Doctrine\ORM\Query\Parser->processDeferredPathExpressions(Object(Doctrine\ORM\Query\AS in /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php on line 63
Wo liegt der Fehler?!