我正在尝试检索一个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()将数组与字符串和数字混合?
答案 0 :(得分:0)
如果你想把这个值作为Float你应该使用它来转换它 (float)$ value或floatval($ value) 但也许你应该写自己的
YourSQLProvider extends CSqlDataProvider {
protected function fetchData(){
$data = parent::fetchData();
//...parse $data ...
return $parsedData;
}
}