Défilement
Enregistrement des erreurs
L'API de la base de données lance des exceptions en cas d'erreur, qui peuvent être interceptées en encapsulant les opérations de base de données dans des blocs try {} catch() {}, comme illustré dans cet exemple :
// La transaction s'ouvre ici.
$txn = $connection->startTransaction();
try {
$id = $connection->insert('example')
->fields([
'field1' => 'mystring',
'field2' => 5,
])
->execute();
my_other_function($id);
return $id;
}
catch (Exception $e) {
// Quelque chose s'est mal passé quelque part, donc on annule maintenant.
$txn->rollBack();
// Enregistrer l'exception dans watchdog.
\Drupal::logger('type')->error($e->getMessage());
}