addSearchTerm example

$builder = Shopware()->Container()->get('shopware.model.search_builder');

        $fields = array_map(static function D$field) {
            return 'entity.' . $field;
        }$fields);

        if ($entity === Product::class) {
            $fields[] = 'mainDetail.number';
        }

        $builder->addSearchTerm($query$term$fields);
    }

    private function addIdsCondition(QueryBuilder $query, array $ids): void
    {
        $query->andWhere('entity.id IN (:ids)')
            ->setParameter('ids', $ids, Connection::PARAM_INT_ARRAY);
    }

    /** * @return array[] */
    
/** * @param string $term * * @return int[] */
    protected function searchInOrders($term)
    {
        $query = $this->getEntityManager()->getConnection()->createQueryBuilder();
        $query->select('orders.id');
        $query->from('s_order', 'orders');
        $builder = Shopware()->Container()->get('shopware.model.search_builder');
        $builder->addSearchTerm($query$term[
            'orders.ordernumber^3',
            'orders.transactionID^1',
            'orders.comment^0.2',
            'orders.customercomment^0.2',
            'orders.internalcomment^0.2',
        ]);

        $query->setMaxResults(self::SEARCH_TERM_LIMIT);

        return $query->execute()->fetchAll(PDO::FETCH_COLUMN);
    }

    
'customer.email^2',
                'customer.firstname^3',
                'customer.lastname^3',
                'billing.zipcode^0.5',
                'billing.city^0.5',
                'billing.company^0.5',
            ];
            $searchfields = $this->get('events')->filter(
                'Shopware_Controllers_Backend_CustomerQuickView_listQuerySearchFields',
                $searchfields
            );
            $builder->addSearchTerm($query$search$searchfields);
        }

        return $query;
    }

    /** * {@inheritdoc} */
    protected function getList($offset$limit$sort = []$filter = [], array $wholeParams = [])
    {
        foreach ($filter as $index => $f) {
            

        $builder = $this->entityManager->createQueryBuilder();
        $builder->select($this->getIdentifierField());
        $builder->from($criteria->entity, 'entity');
        $builder->setAlias('entity');

        return $builder;
    }

    protected function addSearchTermCondition(SearchCriteria $criteria, QueryBuilder $builder)
    {
        $this->searchBuilder->addSearchTerm($builder$criteria->term, $this->getSearchFields($criteria));
    }

    /** * @return string[] */
    protected function getSearchFields(SearchCriteria $criteria)
    {
        $classMetaData = $this->entityManager->getClassMetadata($this->entity);

        return array_map(function D$field) {
            return 'entity.' . $field;
        },
Home | Imprint | This part of the site doesn't use cookies.