From 38e790c2ac88c93d09e49d5240ecb801f7a48f26 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Wed, 17 Aug 2022 07:43:58 +0200 Subject: [PATCH] fix: correctly delete child objects - use the original value from save_mode --- src/model.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/model.cpp b/src/model.cpp index 4dbfd93..ffd7069 100644 --- a/src/model.cpp +++ b/src/model.cpp @@ -858,6 +858,7 @@ bool Model::save(ModelData * model_data, bool save_whole_tree) void Model::save_tree(bool save_whole_tree) { model_env->has_primary_key_set = has_primary_key_set; + SaveMode origin_save_mode = save_mode; if( model_env->status && save_whole_tree ) { @@ -897,7 +898,7 @@ void Model::save_tree(bool save_whole_tree) if( model_env->status && save_whole_tree ) { - if( save_mode == DO_DELETE_ON_SAVE ) + if( origin_save_mode == DO_DELETE_ON_SAVE ) model_env->model_work_mode = MORM_MODEL_WORK_MODE_ITERATE_THROUGH_CHILDS_WITH_FOREIGN_KEY; else model_env->model_work_mode = MORM_MODEL_WORK_MODE_ITERATE_THROUGH_CHILDS_WITHOUT_FOREIGN_KEY;