Приведение К Типам В Yii::app()->Request

Всем привет! Хочу поделиться с вами небольшим решением проблемы, с которой я столкнулся при переносе части данных проекта в mongodb. Изначально мы использовали только Mysql и все параметры, поступающие от клиента, позволяли без проблем получать данные из базы.

  
  
   

<Эphp $id = Yii::app()->request->getParam('id', 0); $data = Data::getForId($id); ?>

Но дело в том, что для mysql нет разницы [выбрать * из данных, где id = 1] или [выбрать * из данных, где id = ' 1 ' ].

Но mongodb различает типы данных, поэтому невозможно найти запись по условию id == '1', если id в mongodb является числом.

Чтобы не усложнять и не увеличивать объем кода добавлением (int) для приведения типов

<Эphp $id = (int)Yii::app()->request->getParam('id', 0); ?>

Было выбрано следующее решение — создание собственного менеджера запросов на основе стандартного CHttpRequest. Результат – следующий класс.



<Эphp class CParseRequest extends CHttpRequest {

Теги: #php #MySQL #mongodb #Yii #php #Yii #mongodb

Вместе с данным постом часто просматривают: