Support backed enums as a parameter type in the database

This commit is contained in:
Alex Cabal 2024-01-15 00:04:36 -06:00
parent e52e09c959
commit e712cfbfcc

View file

@ -96,10 +96,9 @@ class DbConnection{
if(is_a($parameter, 'DateTime') || is_a($parameter, 'DateTimeImmutable')){
$parameter = $parameter->format('Y-m-d H:i:s');
}
// MySQL strict mode requires 0 or 1 instead of true or false
// Can't use PDO::PARAM_BOOL, it just doesn't work
if(is_bool($parameter)){
elseif(is_bool($parameter)){
// MySQL strict mode requires 0 or 1 instead of true or false
// Can't use PDO::PARAM_BOOL, it just doesn't work
if($parameter){
$parameter = 1;
}
@ -107,6 +106,9 @@ class DbConnection{
$parameter = 0;
}
}
elseif($parameter instanceof BackedEnum){
$parameter = $parameter->value;
}
if(is_int($parameter)){
$handle->bindValue($name, $parameter, PDO::PARAM_INT);