mau*_*uvm 11 php mysql ubuntu laravel hhvm
我注意到我的Laravel API没有将实体标识符(主键)作为整数返回.
在Api\PostController.php :: show()中:
function index()
{
$posts = Post::all();
return $posts;
}
Run Code Online (Sandbox Code Playgroud)
返回的内容如下:
[{
"id": "1",
"title": "Post one",
...
},{
"id": "2",
"title": "Post two",
...
}]
Run Code Online (Sandbox Code Playgroud)
这会弄乱我的表排序(因为ID将被排序为字符串:1,10,11,2等).
转储实体本身也表明该id属性是一个字符串.
如前所述这里可能的原因是,MySQL驱动程序不会在适当类型的返回值.
我在Ubuntu 14.04服务器上使用HHVM 3.3.1.有什么方法可以使用本机MySQL库(如php5-mysqlnd)用于HHVM吗?
我可以使用Laravel模型访问器来解决问题.但这更像是一个黑客IMO.
请帮忙!
参考文献:
编辑:我已经确认它不是Laravel的ORM层.PDO实例已将ID作为字符串返回.
在您的 Post 类中创建一个访问器id。
class Post extends Eloquent {
public function getIdAttribute($value)
{
return (int)$value;
}
}
Run Code Online (Sandbox Code Playgroud)