Похоже, вы пытаетесь удалить строку из таблицы business
и все строки в opening_hours
, относящиеся к этому бизнесу.
К сожалению, ваш код не будет работать, так как CodeIgniter
игнорирует объединенияпри удалении Active Record.
В их документации сказано, что вы можете передать массив для удаления метода, и он удалит из нескольких строк
$tables = array('table1', 'table2', 'table3');
$this->db->where('id', '5');
$this->db->delete($tables);
Однако, обратите внимание, что он удалит строкииз 3 таблиц, где id
= 5. Точно так же, как в вашем случае, он будет удалять из business и creation_hours, где id имеет значение 2. Очевидно, это не то, что вам нужно.
Единственный вариант - использовать либо 2 запросакак ниже или используйте запрос Raw SQL.
$this->db->from("business");
$this->db->where("id", $id);
$this->db->delete('business');
$this->db->from("opening_hours");
$this->db->where("business_id", $id);
$this->db->delete('opening_hours');