/** * @param Gpf_SqlBuilder_SelectBuilder $select * @param Gpf_Rpc_FilterCollection $allFilters */ private function addOrderIdFilterToSelect(Gpf_SqlBuilder_SelectBuilder $select, Gpf_Rpc_FilterCollection $allFilters) { $filter = $this->getFirstElement($allFilters->getFilter('orderid')); if ($filter === null) { return; } $orderIds = preg_split("/[,;(\n)]/", $filter->getValue()); $condition = new Gpf_SqlBuilder_CompoundWhereCondition(); for ($i = 0; $i < count($orderIds); $i++) { if(trim($orderIds[$i]) != '') { $condition->add('orderid', 'LIKE', '%'.trim($orderIds[$i]).'%', 'OR'); } } $select->where->addCondition($condition); }
/** * @param array $filtersArray * @return array */ private function getOrderIdsFromFilters($filtersArray = null) { if (is_null($filtersArray)) { return array(); } $filterCollection = new Gpf_Rpc_FilterCollection(); foreach ($filtersArray as $filter) { $filterCollection->add($filter); } $filters = $filterCollection->getFilter('orderid'); if (count($filters) == 0) { return array(); } $filter = $filters[0]; return array_map('trim', preg_split("/[,;(\n)]/", $filter->getValue())); }