Заставляем SQL-запросы возвращать цифры, а не только строки
Интересный момент сегодня заметил... Сформировал Ajax-запрос, получил от сервера JSON-ответ, пытаюсь его использовать в своих целях, но возникает проблемка... Там, где должны были числовые значения быть, на самом деле сидят обычные строки. Пример:
В javascript это очень важно, так как он более типизированный язык, чем php, и от типа данных и результат при сравнении может отличаться, и переменные разные методы будут иметь.
Я сначала подумал, что это у меня процессор не правильно обрабатывает данные и переводит числовые значения в строки, но оказалось, что это сам PDO так делает (при чем именно PDO, а не xPDO).
Это легко проверить, выполнив в консоли простой запрос:
Если выполнить его перед выполнением запроса, то данные приходят в нормальном виде.
array(1){["id"]=>int(1)}
Если кому такое тоже понадобится, и чтобы это заработало на всем сайте, можно в плагине на OnMODXInit прописать эту строчку, а можно в каком-нибудь своем компоненте в metadata.mysql.php прописать