Я заметил, что мой Laravel API не возвращает идентификаторы сущностей (первичные ключи) как целые числа.
В Api\PostController.php:: show():
function index()
{
$posts = Post::all();
return $posts;
}
Что возвращает что-то вроде:
[{
"id": "1",
"title": "Post one",
...
},{
"id": "2",
"title": "Post two",
...
}]
Это испортит мою сортировку таблицы (потому что идентификаторы будут отсортированы как строка: 1, 10, 11, 2 и т.д.).
Сбрасывание самого объекта также показывает, что атрибут id
- это строка.
Как упоминалось здесь, вероятной причиной является то, что драйвер MySQL не возвращает значения в соответствующем типе.
Я использую HHVM 3.3.1 на сервере Ubuntu 14.04. Есть ли способ использовать собственную библиотеку MySQL (например, php5-mysqlnd) для HHVM?
Я мог бы использовать аксессуры модели Laravel для решения проблемы. Но это скорее взлом ИМО.
Пожалуйста, помогите!
Литература:
- http://forumsarchive.laravel.io/viewtopic.php?pid=58151
- https://github.com/facebook/hhvm/issues/3619
EDIT: Я проверил, что это не слой ORM Laravel. Экземпляр PDO уже возвращает идентификаторы в виде строк.