Да не за что)) Фабрика не одна такая, многие крупные компании подобное вытворяют, либо скрытые платежи, либо только свой хостинг (без доступов к ФТП и в 1,5 — 2 раза дороже), либо мелким клиентам некачественно работу делают.

Поздравляю! Так им и надо))

Сравнение числового поля со строковой константой всегда даёт false (в этом случае MySQL числовые значения поля приводит к строковому типу) Да, вы явно не то пишете. Все будет ОК работать. Это в сортировках может получиться, что '87' будет меньше чем '9', но 8 == '8'.

Тьфу, что-то не то пишу. Должно нормально работать сравнение. Проверю ещё раз…

У вас где-то запрос не так выполняется (имеется ввиду получаете не те результаты)? Мускул сам типизацию проведет, это вам не сортировка. Именно. Сравнение числового поля со строковой константой всегда даёт false (в этом случае MySQL числовые значения поля приводит к строковому типу)

Здорово поможете, если навскидку состряпаете эту обёртку. Если нет — поковыряюсь сам… Не вижу смысла. Не помогу с этим.

Вообще, у меня в коде много десятков подобных запросов по всему коду. Всегда полагался на типизацию xPDO. А сейчас, похоже, придётся все запросы перешерстить. Странно, что все запросы выполнялись корректно… до сегодняшнего дня… У вас где-то запрос не так выполняется (имеется ввиду получаете не те результаты)? Мускул сам типизацию проведет, это вам не сортировка. Хотите более полный контроль над типами? — юзайте CAST, CONVERT и т.п.

Если уж очень хочется именно в where засунуть условие, то так: $query->where(array('TVValues.tmplvarid = 8')); И xPDO этой элементарной проверки почему-то не выполняет… Отправляйте свой PR в xPDO, не вопрос.

Вообще, у меня в коде много десятков подобных запросов по всему коду. Всегда полагался на типизацию xPDO. А сейчас, похоже, придётся все запросы перешерстить. Странно, что все запросы выполнялись корректно… до сегодняшнего дня… Всё-таки отказ от автоматической xPDO-типизации в условиях — не совсем хороший вариант. Хотя бы, те же самые операторы IN. Напрашивается такое решение: обёртка для join'ов, в которых: а) вручную читаем мета-данные б) определяем тип в) корректируем тип поля в объекте xPDOQuery (query['joins'][...]) Здорово поможете, если навскидку состряпаете эту обёртку. Если нет — поковыряюсь сам…