Задать вопрос
spacenear
@spacenear
React Web Developer

Почему на продакшене из базы возвращается строка а не число?

Использую ларавель, у меня есть таблицы в базе с полями int и из них возвращается данные типа int
Это на локальной машине. Но когда я делаю тоже самое на сервере продакшена то возвращается строка и из за этого многое ломается в программе.

PS в базе там если посмотреть то значение полей все так же int

5e1346746bcaa445463352.jpeg

Вот код получающий записи из базы
$promocode = Promocode::where('code', '=', $code)->first();
dd($promocode);


Вот ответ на локальном сервере
5e134ab13a4e7615907629.jpeg

Вот ответ на продакшене
5e134ac51d2b7071100488.jpeg
  • Вопрос задан
  • 922 просмотра
Подписаться 5 Простой 6 комментариев
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Чтобы получить число, нужно чтобы были соблюдены несколько условий

- установлен драйвер mysqlnd
- отключена эмуляция подготовленных выражений в PDO
- используется подготовленный запрос.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@M1naret
Если нет возможности изменить настройки сервера, что актуально в случае в виртуальным хостингом, проблему можно решить настройкой приведения типов в модели. Гугли Laravel model attributes casting
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы