/** * @param ProductQuery $search * @param $searchTerm * @param $searchIn * @param $searchCriteria */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { $search->_and(); foreach ($searchIn as $index => $searchInElement) { if ($index > 0) { $search->_or(); } switch ($searchInElement) { case "ref": $search->filterByRef($searchTerm, $searchCriteria); break; case "title": $search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END " . $searchCriteria . " ?", $searchTerm, \PDO::PARAM_STR); break; } } }
/** * @param ProductQuery $search * @param $searchTerm * @param $searchIn * @param $searchCriteria */ public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) { $search->_and(); foreach ($searchIn as $index => $searchInElement) { if ($index > 0) { $search->_or(); } switch ($searchInElement) { case "ref": $search->filterByRef($searchTerm, $searchCriteria); break; } } $this->addStandardI18nSearch($search, $searchTerm, $searchCriteria); }