fix: correctly delete child objects - use the original value from save_mode

This commit is contained in:
Tomasz Sowa 2022-08-17 07:43:58 +02:00
parent bc92654be9
commit 38e790c2ac
1 changed files with 2 additions and 1 deletions

View File

@ -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;