Искренние поздравления! Очень радует, когда такие проигрывают по собственным искам. Вселяет надежду :)
Что касается сабжа, то лучше я обёртку напишу. Так будет надёжнее. Нет. С разбегу не получится. Не 5 минут… Логика должна быть такой. Перед выполнением метода prepare() запускается наша супер-функция (или метод), которая в объекте xPDOQuery делает следующее:
Issue — это только пожелания, обсуждения. Отправить готовый код — более предметно.
На английском не очень получается. Впрочем, писал уже: github.com/modxcms/revolution/issues/12307 ноль внимания… Хотя в версии 2.3.3 они там логику чуть изменили (так, что в описанных в этой теме условиях ошибки больше не вылезали), но «корячность» этой логики сохранилась (а может, я её не понимаю). Так или иначе в 2.3.3 эти 2 ошибки по-прежнему иногда вылезают, но гораздо реже и при других условиях (при каких — неизвестно). Что касается сабжа, то лучше я обёртку напишу. Так будет надёжнее.
Еще раз — шлите пуллреквесты, улучшайте работу MODX-а. Я вот шлю. На сегодня более 10% всех активных PR в MODX — мои. И вы можете приложить усилия, чтобы MODX стал лучше.
Всё равно некошерно. Ладно, с TV понятно — если там сравнение на неравенство используется, нужно непосредственно прописывать условие в виде SQL. Но когда то же самое приходится делать с собственными типизированными таблицами — это уже извращение.
Больше/меньше — да, но равно/не равно — нет.
Это в сортировках может получиться, что '87' будет меньше чем '9', но 8 == '8'. И в условиях сравнения тоже.