/** * Delete the object and its aggregates * @param $id object ID */ public function delete($id = NULL) { // delete the related System_userSystem_user_grupo objects $id = isset($id) ? $id : $this->id; $repository = new TRepository('UsuarioGrupo'); $criteria = new TCriteria(); $criteria->add(new TFilter('usuario_id', '=', $id)); $repository->delete($criteria); // delete the related System_userSystem_user_program objects $id = isset($id) ? $id : $this->id; $repository = new TRepository('UsuarioFuncionalidade'); $criteria = new TCriteria(); $criteria->add(new TFilter('usuario_id', '=', $id)); $repository->delete($criteria); // delete the object itself parent::delete($id); }
/** * Delete composite objects (parts in composition relationship) * @param $composite_class Active Record Class for composite objects * @param $foreign_key Foreign key in composite objects * @param $id Primary key of parent object */ public function deleteComposite($composite_class, $foreign_key, $id) { $criteria = new TCriteria(); $criteria->add(new TFilter($foreign_key, '=', $id)); $repository = new TRepository($composite_class); return $repository->delete($criteria); }