Задать типы атрибутов при запросе данных - PullRequest
1 голос
/ 17 мая 2019

Я заметил, что если я зарегистрирую что-либо в своей базе данных, независимо от типа переменной, она будет храниться в виде строки в ней.

Когда я получу это с запросом, я также получустрока вместо целого числа, логического значения или чего-то еще.

    $var = 1;

    $query = $dao->prepare('INSERT INTO table SET var = :var');
    $query->bindValue('var', $var, \PDO::PARAM_INT);
    $query->execute();

    $query = $dao->prepare('SELECT var FROM table');
    $query->execute();
    var_dump($query->fetchColumn()); // (string) "1" instead of (int) 1

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

Яиспользуя ООП.Мои объекты Entity увлажняются, когда передают массив своему конструктору, проверяя и устанавливая их типы при этом.

К сожалению, когда я выбираю данные из своей базы данных, я использую PDO::FETCH_CLASS const, поэтому мои атрибуты объектовустановлены, но все они строковые, поскольку конструктор класса не используется.

Как разработчики справляются с этим?

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