/** * Delete all objects * * This creates a single delete query using the complete keys of * each of the dbobjects that has been registered */ function delete() { if (count($this->dbobjects) && is_array($this->dbobjects)) { $clause = new Clause(); $class_name = $this->class_name; $obj = new $class_name(); DbObject::cascadeDelete($this->dbobjects); foreach ($this->dbobjects as $dbobj) { /**$sub_clause = new Clause(); foreach($dbobj->primaryKeys() as $field) { $sub_clause->addTableCondition($obj->tableName(),$field->name(),$field->value()); }*/ if ($dbobj->db_clause) { $clause->addSubClause($dbobj->db_clause, Clause::OR_REL, Clause::LAST); } else { $clause->addSubClause($dbobj->uniqueClause(), Clause::OR_REL, Clause::LAST); } } $query = new DeleteQuery($obj->tableName()); $query->setClause($clause); Session::unRegister($this->class_name . '_rel_deleteregister'); $query->doQuery(); } }