Verwijderingsquery's (delete)
Verwijderingsquery’s moeten altijd gebruikmaken van het query builder-object. Ze worden uitgevoerd met de methode delete() als volgt:
$query = $connection->delete('mytable', $options);
Dit maakt een delete-queryobject aan dat records uit de tabel mytable verwijdert. Merk op dat er geen accolades nodig zijn rond de tabelnaam, omdat de query builder dit automatisch afhandelt.
Het delete-queryobject gebruikt een fluent API. Dat betekent dat alle methoden (behalve execute()) hetzelfde queryobject teruggeven, zodat method chaining mogelijk is. In veel gevallen hoeft het queryobject dus helemaal niet in een variabele opgeslagen te worden.
Delete-query’s zijn conceptueel heel eenvoudig en bestaan alleen uit een WHERE-clausule. De volledige structuur van de WHERE-clausule wordt uitgebreid beschreven in de sectie «Voorwaardelijke clausules» en wordt hier slechts kort aangestipt.
Een volledige delete-query ziet er als volgt uit:
$num_deleted = $connection->delete('mytable')
->condition('myfield', 5)
->execute();
De bovenstaande query verwijdert alle rijen uit de tabel {mytable}, waar de kolom myfield gelijk is aan 5. Dit is gelijkwaardig aan de volgende query:
DELETE FROM {mytable} WHERE myfield=5;
De methode execute() geeft het aantal records terug dat door de query is verwijderd.