Приведение к типам в Yii::app()->requestИсточник: habrahabr anonimizer_me
Всем привет! Хочу поделиться с вами небольшим решением проблемы, с которой столкнулся при переносе части данных проекта в mongodb.
А суть в том, что для mysql нет разницы [select * from data where id = 1] или [select * from data where id ='1']. Но mongodb типы данных различает, по этому нельзя найти запись используя условие id == '1' если id в mongodb является числом. Для того, чтобы не усложнять и не увеличивать количество кода за счет добавления (int) для приведения типа
было выбрано седующее решение - создание собственного request менеджера на основе стандартного CHttpRequest.
В настройках следует прописать следующий модуль
Теперь полученные данные всегда будут приводиться к нужному типу. Если нам приходит массив любой вложенности, то все его элементы тоже будут приведены к нужным типам. У нас не возникает ситуаций, когда число нужно передать в виде строки, по этому данное решение полностью покрыло потребности проекта. Будет интересно услышать мнение других людей о том, как они решали данную проблему. |