06-04-2020, 02:46 PM
Le $index au milieu est parce-que je suis forcé de "fabriquer" la requête, j'ai ce soucis à plusieurs endroit dans le code actuellement ou je veut insérer/update/select plusieurs lignes et pour m'assurer de la sécurité avec pdo je dois créer dynamiquement la requête, genre ici sur un delete:
J'ai pas trouvé meilleur solution pour passer ce type de limitation de PDO.
public static function deleteMany($ants) {
// If objects are passed, search for uuid only
if(is_object($ants[0])) {
// If no uuid are presents in the array, throw an error
if(!isset($ants[0]->uuid)) {
throw new ErrorException('No uuid present in the array of object.');
}
$ants = array_map(static function($ant) {
return $ant->uuid;
}, $ants);
}
// Create the in statement
$in = str_repeat('?,', count($ants) - 1) . '?';
return DB::deleteReturn("DELETE FROM ants WHERE uuid IN ({$in}) RETURNING uuid", $ants);
}
J'ai pas trouvé meilleur solution pour passer ce type de limitation de PDO.