Delete records

Learn how to delete existing records

Deleting records is done by using the from and the delete methods.

// Delete all users

$result = $db->from('users')
             ->delete();
DELETE FROM `users`

Deleting a specific set of records is done by adding filters.

// Delete all users which don't have a description

$result = $db->from('users')
             ->where('description')->isNull()
             ->delete();
DELETE FROM `users` WHERE `description` IS NULL

You can also delete from multiple tables simultaneously by performing a join and passing to the delete method a list of tables as an array argument.

// Delete a specific user and all its orders

$result = $db->from('users')
             ->where('users.id')->is(2014)
             ->join('orders', function($join){
                $join->on('users.id', 'orders.user_id');
             })
             ->delete(array('users', 'orders'));
DELETE `users`, `orders` FROM `users`
    INNER JOIN `orders` ON `users`.`id` = `orders`.`user_id`
WHERE `users`.`id` = 2014