public function delete($cond_field = null, $cond_val = null) { if (func_num_args() === 0) { parent::delete(); } if ($cond_field != 'id' || !is_numeric($cond_val)) { throw new Exception("Content can be killed only by id!"); } $tables = $this->getTables(); $q = 'DELETE {{' . join("}}, {{", $tables) . '}} '; $q .= 'FROM {{' . join("}} INNER JOIN {{", $tables) . '}} '; $q .= ' WHERE '; $base_table = array_shift($tables); foreach ($tables as $t) { $q .= ' {{' . $t . '}}.id = {{' . $base_table . '}}.id AND '; } $q .= ' {{' . $base_table . '}}.id = "' . fx::db()->escape($cond_val) . '"'; fx::db()->query($q); }