我正在使用Silex微框架构建一个简单的REST后端。
在每个控制器内部,我正在运行一些针对MySQL数据库的查询(使用Doctrine 2 DBAL API),如下所示:
$app->get('/customers', function (Application $app) {
$recordset = $app['db']->fetchAll('SELECT id, name FROM Customers');
return $app->json($recordset);
});
任何人都可以向我解释为什么Doctrine DBAL只返回string
数据类型,无论列定义如何?下面是使用PHP var_dump($recordset)
函数的相应输出(注意id
字段应该是整数类型,而不是字符串):
array(1) {
[0]=>
array(2) {
["id"]=>
string(5) "10043"
["name"]=>
string(20) "Hey, I'm just a test"
}
}
感谢您的帮助。
答案 0 :(得分:0)
正如Maerlyn所说,这似乎是PDO驱动程序的一个已知问题,因此也是Doctrine DBAL的已知问题。
在不使用Doctrine 2 ORM图层提供的映射功能的情况下,我发现this答案是对DBAL限制的可能解决方法。