(05-18-2015, 12:47 AM)Narf Wrote: It's not a bug, you have to pass the WHERE clause to delete() when you want to delete from multiple tables ...
This definitely needs to be clarified in the documentation, as this would also be the case with $limit/$this->db->limit(), unless you set the last argument ($reset_data) to FALSE.
Of course, if you set the last argument to FALSE, you have to take care to call $this->db->reset_query() as needed before performing other database operations.
At first, I thought it would be relatively simple to "fix" the behavior of the delete() method for arrays, but there are a lot of potential issues hiding in there with those last three arguments.
[Edit]
...and just to make the last point clear, if you do set the last argument to FALSE while passing the $where and/or $limit clauses, it will call where() and limit() before calling _delete() on each table in the array, even though the where and limit clauses aren't reset from the calls for the previous table(s).