Werken met de database in Drupal 7 – les 10 – Verwijderquery’s (DELETE)
Verwijderquery’s moeten gebruikmaken van de querybuilder. Ze beginnen met de functie db_delete():
<?php $query = db_delete('node', $options); ?>
Deze delete-query verwijdert records uit de tabel node. Merk op dat je de tabelnaam niet tussen accolades hoeft te plaatsen — de querybuilder doet dat automatisch. Delete-query’s gebruiken een Fluent API, wat betekent dat alle methoden (behalve execute()) het query-object zelf teruggeven. Dit werkt hetzelfde als bij update- en insert-query’s.
Verwijderquery’s zijn vrij eenvoudig en gebruiken alleen WHERE-expressies. We zullen de WHERE-voorwaarde in detail bekijken in een latere les, maar laten we voorlopig een eenvoudig voorbeeld van een delete-query bekijken:
<?php $num_deleted = db_delete('node') ->condition('nid', 5) ->execute(); ?>
Deze query verwijdert alle rijen uit de tabel node waar nid = 5.
Dit is equivalent aan de volgende SQL-query:
DELETE FROM {node} WHERE nid = 5;
De methode execute() retourneert het aantal records dat werd verwijderd als resultaat van de uitgevoerde query.