Задать вопрос
@ipdesign
UI/UX ДИЗАЙНЕР

Почему Yii возвращает string вместо integer?

Всем привет!
Столкнулся с такой ситуацией, некоторые поля int конвертируются в string по непонятным для меня причинам.

В БД поля таблицы в integer, в модели также в правилах валидации integer, а делаю var_dump а там ситуация приблизительно следующая:
'id' => string '1' (length=1)
'name' => string 'Test' (length=4)
'route_id' => string '1' (length=1)
'price' => string '2400' (length=4)
'seats' => int 45
'status' => int 1

причем все эти поля у меня и в БД и в модели - integer, кроме name, а получаю я некоторые в int, некоторые в string

Кто сталкивался с подобным и в чем тут соль, куда копать?

Нашел что вот тут поднимался вопрос, но вроде как уже закрыт, но в данном случае я и НЕ получаю массив с помощью asArray()
  • Вопрос задан
  • 546 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
shakatakas
@shakatakas
So so developer
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
Если речь идет об ActiveRecord то yii2 старается конвертировать полученные данные из БД, но не на основе правил валидаций, а на основе схемы БД. В этом случае есть ряд тонкостей, описанных здесь . Вы можете настроить конвертацию данных на основе правил валидации или вручную указав для каждого поля соответствующий тип с помощью AttributeTypecastBehavior (ссылку на который привел Дениска Петров )
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Может соль в том что в пхп нет строгой типизации?
Вариантов где оно может стать строкой масса, только на работу это никак не влияет(не должно)
Ответ написан
Ваш ответ на вопрос

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

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