Поиск по возрасту работает некорректно
Как исправить?
В общем, если вдруг кому-то важно, чтобы в поиске корректно искались пользователи (ищем от 18 до 18 — находит 18-летних, а не как сейчас), то решение вот такое:
В файле system/core/model.php надо добавить строчку $value = intval($value)+1;
public function filterDateYounger($field, $value, $interval='DAY'){ $value = $this->db->escape($value); $interval = $this->db->escape($interval); $this->filter("$field >= DATE_SUB(NOW(), INTERVAL {$value} {$interval})"); return $this; }
3 года как с куста, а ошибка осталась
точно, есть такое. Добавил, теперь норм ищет, только это же файлы движка, может на Гит предложите исправление.
Честно говоря, я не уверен, что это правильное решение. Просто мне надо было и подсказали, вроде работает.точно, есть такое. Добавил, теперь норм ищет, только это же файлы движка, может на Гит предложите исправление.
А пока в файле /system/fields/age.php аналогичное условие заменить на
$model->filterTimestampYounger($this->name, $value['to'], $this->getOption('range')); }
Поправлю в релизе.
А пока в файле /system/fields/age.php аналогичное условие заменить на
а в файле /system/core/model.php добавить метод
$model->filterTimestampYounger($this->name, $value['to'], $this->getOption('range')); }
Это в дополнение к тем действиям, что я описал или вместо них?