我正在使用Silex Micro-Framework构建简单的休息后端。
在每个控制器内部,我对MySQL数据库(使用Doctrine 2 DBAL API)进行了一些查询,如以下内容:
$app->get('/customers', function (Application $app) {
$recordset = $app['db']->fetchAll('SELECT id, name FROM Customers');
return $app->json($recordset);
});
任何人都可以向我解释为什么DBAL 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"
}
}
感谢您的帮助。
正如Maerlyn所建议的那样,这似乎是PDO驱动程序的一个已知问题,因此是Dbal的学说。
不利用学说2 ORM层提供的映射功能,我发现该答案可能是对DBAL限制的解决方法。