我正在构建一个使用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
属性):
两种环境之间存在轻微差异:
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
已安装在我的本地和生产环境中。