我有几个 foreach 循环来显示游戏中的所有玩家。表中有 10 个玩家,其 id 列为 int 类型,自动递增。代码如下所示:
foreach(Player::all() as $player) {
echo $player->id;
}
在我的开发 Mac MySQL 5.1.70 上,我得到:1 2 3... 在我的产品服务器 MySQL 5.5.31 上,我得到:1 10 2 3 4 ....
这在我的代码中的所有其他地方都是一致的。现在,我知道这是一个字母数字排序。问题是:为什么?我可以在服务器上打开什么以使其与我的开发机器匹配,而无需执行广泛的代码更改?
我正在使用 PHP 5.4、Apache 2.4、Laravel 4.0.5 和 Eloquent
更新:
我发现了另一个症状,这实际上可能是问题的根本原因:在分析客户端对服务器的 AJAX 调用时,我发现值从开发服务器返回为整数,但作为来自产品服务器的字符串- 导致大量的不当行为。这解释了为什么我得到一个 ASCII 排序。但同样,问题是:我需要在 prod 服务器上“修复”什么才能使其正常工作?