Laravel在Windows上返回int并在Linux上返回字符串

时间:2016-03-25 10:23:45

标签: laravel

我有MySql Cloud Hosting,

  

表(成员) - 字段(id,名称,余额)

当我在Windows机器上使用Laravel访问时,它们(id,balance)以Int,

的形式返回

当我在Linux机器上使用Laravel访问时,所有字段都以字符串形式返回。

因此,此问题会导致计算操作错误,因为它们读为String。 没有$ casts可以解决这个问题的任何方法吗?

2 个答案:

答案 0 :(得分:0)

似乎问题在于MySQL驱动程序。 Laravel默认使用预准备语句。您有两种方法:调整Linux设置或在代码中使用转换(强制转换或(int))。

请查看ticked answer here。您需要调整PDO::ATTR_EMULATE_PREPARES

答案 1 :(得分:0)

通过它的声音,这是与MySQL以及你正在使用的驱动程序相关的其他答案。

除此之外,这是一个非问题,PHP是一种动态类型语言,因此返回一个字符串没有区别,除非您通过is_int()运行该值,这将明确检查它确实是一个整数。如果您这样做,请不要使用is_number()代替处理所有类型。