Laravel / MySQL / Javascript堆栈:整数在生产时作为字符串返回,但不是在本地,为什么?

时间:2016-08-08 06:58:55

标签: php mysql laravel

我正在构建一个使用Laravel作为RESTful API并使用React(+ redux)作为前端的CMS。 (我已将问题与前端区分开来)

CMS处理具有多个页面的多个站点。当用户添加新页面时,它会发送新的站点数据:页面标题和父站点的ID。 (即' new-page',' 15')

API成功保存数据后,它将从数据库返回新的实例 - 页面标题,父站点ID以及数据库已分配的新页面ID(主键)。 / p>

,由于某些原因我无法弄清楚,在生产服务器上,site_id作为字符串返回,而不是整数。 (这引起了我可以用parseInt()解决的问题,但我想知道是什么问题。

每个上运行的代码都是相同的。我已经确认两者都将数据库中的site_id列设置为int(10) unsigned。调用返回网站及其所有相关网页的API会向我提供这些结果(请注意每个网站上的site_id属性):

开发 Development

生产 enter image description here

两种环境之间存在轻微差异:

PHP

php --version
 (development) PHP 5.6.24
 (production)  PHP 5.6.21

的MySQL

select version()
  (development) 5.7.13
  (production)  5.6.25-73.1

两者都在使用Laravel 5.2.39。

为什么将在数据库中定义为INT的值在这两个环境中作为字符串返回?

更新

mysqlnd已安装在我的本地和生产环境中。

0 个答案:

没有答案