BonBonSlick
@BonBonSlick
Web Developer Trainee

Разница Types::text vs Types::string на запрос?

В запросе можно дополнительно валидировать параметры, что рекомендовано самим Марко и докой доктрины.
$query->andWhere($expr->eq($tableFields['alpha2'], sprintf(':%s', 'alpha2')))
                  ->setParameter('alpha2', $filter->alpha2, Types::STRING)
            ;

Так можно избежать ошибок на уровне БД, когда мы пытаемся выбрать из строк, но передаем массив к примеру.
Какая разница относительно какого типа валидируем входящий параметр, типа STRING или TEXT?
Или я некорректно понял как происходит валидация и оно лишь проверят соответстует тип параметра типу?

То есть параметр строка это и TEXT и STRING, но в случае с текстом лимит длины параметра установлен БД а STRING установлен разработчиком в маппинге.
Но если бы было действительно так, то при типе колонки TEXT и параметре типа STRING должно выкидывать ошибку, но оно проходит как если бы выбирало универсальный ПДО тип колонки PARAM_STR

По дефолту доктрина использует return \PDO::PARAM_STR;
  • Вопрос задан
  • 13 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы