Yii: атрибуты модели не сохраняют типы? - PullRequest
3 голосов
/ 30 января 2011

Я был очень удивлен, обнаружив, что gettype($myModel->id) == 'string' для модели с целочисленным полем id в базовой базе данных MySQL.

Это выглядит совершенно неправильно.Это действительно работает таким образом?Если да, то почему?В противном случае приветствуются все идеи о том, как это может произойти.

Ответы [ 2 ]

6 голосов
/ 30 января 2011

Насколько я знаю, Yii просто присваивает значения, которые он получает от PDO, так что, вероятно, это должна быть вещь PDO.Тбх, я действительно не полагаюсь на фактические типы переменных в PHP, так как это в любом случае язык с мягким типом, и это может быть опасно.Imo лучше вызвать "is_numeric", чем проверить фактический тип переменной, например.

1 голос
/ 08 апреля 2015

Здесь у вас есть какое-то объяснение с форума Yii:

Это сделано специально и уже обсуждалось несколько раз на форуме ... проблема в том, что значения базы данных могут содержать большие числа, чем значения PHP, поэтому используется строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...