@kostya1704

Почему БД на хостинге возвращает неверный тип данных?

После переноса проекта с локалки на хостинг появилась странность :
выборка из БД полей с числовыми типами, возвращает в ответе строковый тип, что не допустимо в дальнейших расчётах с данными.

На локалке Open Server такого не наблюдается.
Запрос по апи к ресурс контроллеру ларавел 8.
Код запроса к БД одинаковый.
Очевидно , проблема в настройках phpMyAdmin на хосте.
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
Adamos
@Adamos
PMA тут вообще никаким боком.
Поведение зависит от драйвера БД - работающий напрямую с базой будет возвращать значения соответственно полям таблицы, а обертка - превращать все, кроме NULL, в строки.
Лучше не полагаться на то или иное поведение и либо приводить значения принудительно перед использованием, либо прописать эти поля как integer в модели, работающей с этой таблицей.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kostya1704 Автор вопроса
Спасибо всем, кто откликнулся.
protected $casts = [
        'volume' => 'integer',
    ];
- такое решение а модели помогло.
В модели ларавел.
Почему не сработал валидатор на фронте vue.js
volume: { required, decimal}, ?
И не сработал валидатор в контроллере :
$order = Validator::make($request->all(), [
            'volume' => 'required|integer|max:3',
        ])
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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