Числа форматируются как строки после разведки: импорт Laravel

Мне пришлось использовать команду php artisan scout:import, когда я разрабатывал веб-сайт в своей локальной среде, и все работало идеально. Однако, как только я развернул свое приложение и использовал ту же команду, используя ssh, моя модель была импортирована, но с атрибутами int, представленными в виде строк, fe 1 был отформатирован как "1". Из-за этого я не могу использовать numeric_filters. Я использую базу данных MySql в обоих случаях.

1 ответ

Решение

Числа отображаются в виде строки в ответе JSON по умолчанию. Вы можете использовать инструкции из этого https://stackru.com/questions/31527050/laravel-5-controller-sending-json-integer-as-string или вы можете использовать атрибуты приведений в модели, поэтому при каждой сериализации модель будет приводить соответствующие столбцы, как указано.

Например, в модели вы можете определить что-то вроде этого:
protected $casts = [ 'something' => 'float' ];

Другие вопросы по тегам