start adding support for inserting child models
git-svn-id: svn://ttmath.org/publicrep/morm/trunk@1203 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -232,17 +232,29 @@ void Model::generate_insert_query(PT::TextStream & stream, ModelData * model_dat
|
||||
}
|
||||
|
||||
|
||||
bool Model::insert(ModelData * model_data, bool insert_whole_tree)
|
||||
{
|
||||
ModelEnv model_env_local;
|
||||
model_env = &model_env_local;
|
||||
|
||||
bool Model::insert(ModelData * model_data)
|
||||
model_env->model_data = model_data;
|
||||
return insert_tree(insert_whole_tree);
|
||||
}
|
||||
|
||||
|
||||
// has ModelEnv set
|
||||
bool Model::insert_tree(bool insert_whole_tree)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if( insert_whole_tree )
|
||||
{
|
||||
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_ITERATE_THROUGH_CHILDS_AND_INSERT;
|
||||
map_fields();
|
||||
}
|
||||
|
||||
if( model_connector )
|
||||
{
|
||||
ModelEnv model_env_local;
|
||||
model_env = &model_env_local;
|
||||
|
||||
model_env->model_data = model_data;
|
||||
model_env->model_connector_mode = MORM_MODEL_CONNECTOR_MODE_GENERATING_DB_SQL;
|
||||
DbConnector * db_connector = model_connector->get_db_connector();
|
||||
|
||||
@@ -251,6 +263,7 @@ bool Model::insert(ModelData * model_data)
|
||||
|
||||
if( db_connector && out_stream )
|
||||
{
|
||||
|
||||
before_insert();
|
||||
out_stream->clear();
|
||||
result = db_connector->insert(*out_stream, *this);
|
||||
@@ -275,9 +288,9 @@ bool Model::insert(ModelData * model_data)
|
||||
|
||||
|
||||
|
||||
bool Model::insert(ModelData & model_data)
|
||||
bool Model::insert(ModelData & model_data, bool insert_whole_tree)
|
||||
{
|
||||
return insert(&model_data);
|
||||
return insert(&model_data, insert_whole_tree);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user