Плагин добавляет несколько полей к таблице Topic, после этого по ним необходимо настроить поиск. Модифицировал ACEMySearch, добавил функции по образцу имеющейся GetTopicsIdByRegExp, выводил получившийся запрос — базой обрабатывается корректно, результаты есть, но на страницу поиска ничего не попадает. Например, поиск по дате подачи объявления(это как раз объект, который добавляется плагином к топику):
SELECT SQL_CALC_FOUND_ROWS DISTINCT topic_id
FROM new_topic
WHERE (
topic_driveType =1
AND topic_time1 = '2011-08-29'
)
ORDER BY topic_id ASC
LIMIT 0 , 20
Функция, которая ищет(делал на основе ACEMySearch):
public function GetTopicsIdByTime($Times, &$iCount, $iCurrPage, $iPerPage, $aParams)
{
$aResult=array();
if (!$aParams['bSkipTags']) {
if(isset($Times[1])){
$sql = "
SELECT DISTINCT topic_id
FROM ".Config::Get('db.table.topic')."
WHERE (topic_driveType= 0 AND topic_time1 = ? AND topic_time2 = ?)
ORDER BY
topic_id ASC
LIMIT ?d, ?d
";
$aRows=$this->oDb->selectPage($iCount, $sql,
$Times[0],$Times[1],
($iCurrPage-1)*$iPerPage, $iPerPage);
}else{
$sql = "
SELECT DISTINCT topic_id
FROM ".Config::Get('db.table.topic')."
WHERE (topic_driveType= 1 AND topic_time1 = ?)
ORDER BY
topic_id ASC
LIMIT ?d, ?d
";
$aRows=$this->oDb->selectPage($iCount, $sql,
$Times[0],
($iCurrPage-1)*$iPerPage, $iPerPage);
}
}
if ($aRows) {
foreach ($aRows as $aRow) {
$aResult[]=$aRow['topic_id'];
}
}
return $aResult;
}
Думал, DBSimple как-то переделывает подставленное значение, но при специально допущенной ошибке в sql выводится запрос, аналогичный приведенному выше, на который находится ненулевой результат. Работает только простейшая функция поиска по 2 полям, которые могут иметь значения 0 и 1(по строкам и с like, и с "=" не работает). С чем такое еще м.б. связано?