Dann fragst wahrscheinlich oa zweimal ab. Vielleicht im from und inner join?
Eigentlich nicht:
$query = $this->getQueryBuilder()
->select($selectFields)
->from($this->articleTable, 'a')
->innerJoin('a', 'oxorderarticles', 'oa', 'a.oxid = oa.oxartid')
->innerJoin('oa', 'oxorder', 'o', 'oa.oxorderid = o.oxid')
->where('o.oxuserid = :user_id')
->andWhere($this->prepareQueryParts($this->articleObject->getSqlActiveSnippet(), $this->articleTable, 'a'));
Du könntest Dir Dein Endergebnis der Query ausgeben lassen um dies zu prüfen.
Laut Doku wäre ja
$container = ContainerFactory::getInstance()->getContainer();
$queryBuilderFactory = $container->get(QueryBuilderFactoryInterface::class);
$queryBuilder = $queryBuilderFactory->create();
Quelle: Interacting with the database — OXID eShop developer documentation 6.4.0 documentation
dann könntest wie folgt ausgeben:
$queryBuilder
->select($selectFields)
->from($this->articleTable, 'a')
->innerJoin('a', 'oxorderarticles', 'oa', 'a.oxid = oa.oxartid')
->innerJoin('oa', 'oxorder', 'o', 'oa.oxorderid = o.oxid')
->where('o.oxuserid = :user_id')
->andWhere($this->articleObject->getSqlActiveSnippet());
echo $queryBuilder->getSQL();exit;
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.