Yii CSqlDataProvider-> getData as Float?

时间:2012-12-04 19:24:38

标签: yii

我正在尝试检索一个SQL命令,将其用作另一个组件的输入参数,该组件将该查询中的值转换为JSON enconded数组。问题是column1是一个字符串,column2是一个FLOAT字段。

查询示例:

    SELECT col1, col2
    FROM tableA

考虑 col1 是VARCHAR而 col2 是FLOAT字段。

如何运行CSqlDataProvider-> getData()并将数组作为:

    array(
      'col1' => 'value1_as_string',
      'col2' => value2_as_float_or_number  
    );

我可以设法运行查询,但CSqlDataProvider-> getData返回一个数组数组,所有值都默认转换为STRING。

如何使用CSqlDataProvider-> getData()将数组与字符串和数字混合?

1 个答案:

答案 0 :(得分:0)

如果你想把这个值作为Float你应该使用它来转换它 (float)$ value或floatval($ value) 但也许你应该写自己的

YourSQLProvider extends CSqlDataProvider {

   protected function fetchData(){
    $data =  parent::fetchData();

    //...parse $data ...


    return $parsedData;
   }    
}