Lavorare con il database in Drupal 7 – Lezione 10 – Query di eliminazione (DELETE)
Le query di eliminazione devono essere costruite utilizzando il costruttore di query. Esse iniziano con la funzione db_delete():
<?php
$query = db_delete('node', $options);
?>
Questa query di eliminazione rimuoverà i record dalla tabella node. Nota che non è necessario racchiudere il nome della tabella tra parentesi graffe — il costruttore di query lo fa automaticamente. Le query di eliminazione utilizzano il Fluent API, cioè tutti i metodi (tranne execute()) restituiscono l’oggetto della query stessa, proprio come avviene per le query di aggiornamento (UPDATE) e di inserimento (INSERT).
Le query di eliminazione sono molto semplici e utilizzano solo espressioni WHERE. Parleremo più in dettaglio del WHERE in una lezione successiva, ma per ora vediamo un esempio di query di eliminazione:
<?php
$num_deleted = db_delete('node')
->condition('nid', 5)
->execute();
?>
Questa query eliminerà tutte le righe dalla tabella node in cui nid = 5.
La query sopra è equivalente a:
DELETE FROM {node} WHERE nid=5;
Il metodo execute() restituisce il numero di record che sono stati eliminati a seguito dell’esecuzione della query.