Fixes for create new foreignkeyfield
This commit is contained in:
parent
bfa0684d78
commit
e6430cf15e
2 changed files with 55 additions and 4 deletions
|
|
@ -185,9 +185,9 @@ function update_table($model)
|
||||||
|
|
||||||
$arr_sql_index[$key][$field]='CREATE INDEX `index_'.$key.'_'.$field.'` ON '.$key.'(`'.$field.'`);';
|
$arr_sql_index[$key][$field]='CREATE INDEX `index_'.$key.'_'.$field.'` ON '.$key.'(`'.$field.'`);';
|
||||||
|
|
||||||
$table_related=$model[$key]->components[$field]->related_model;
|
$table_related=$model[$key]->components[$field]->related_model->name;
|
||||||
|
|
||||||
$id_table_related=load_id_model_related($model[$key]->components[$field]);
|
$id_table_related=load_id_model_related($model[$key]->components[$field], $model);
|
||||||
|
|
||||||
//'Id'.ucfirst($model[$key]->components[$field]->related_model);
|
//'Id'.ucfirst($model[$key]->components[$field]->related_model);
|
||||||
|
|
||||||
|
|
@ -371,7 +371,7 @@ function update_table($model)
|
||||||
|
|
||||||
$table_related=$model[$key]->components[$new_field]->related_model;
|
$table_related=$model[$key]->components[$new_field]->related_model;
|
||||||
|
|
||||||
$id_table_related=load_id_model_related($model[$key]->components[$new_field]);
|
$id_table_related=load_id_model_related($model[$key]->components[$new_field], $model);
|
||||||
|
|
||||||
$arr_sql_set_index[$key][$new_field]='ALTER TABLE `'.$key.'` ADD CONSTRAINT `'.$new_field.'_'.$key.'IDX` FOREIGN KEY ( `'.$new_field.'` ) REFERENCES `'.$table_related.'` (`'.$id_table_related.'`) ON DELETE RESTRICT ON UPDATE RESTRICT;';
|
$arr_sql_set_index[$key][$new_field]='ALTER TABLE `'.$key.'` ADD CONSTRAINT `'.$new_field.'_'.$key.'IDX` FOREIGN KEY ( `'.$new_field.'` ) REFERENCES `'.$table_related.'` (`'.$id_table_related.'`) ON DELETE RESTRICT ON UPDATE RESTRICT;';
|
||||||
|
|
||||||
|
|
@ -465,4 +465,55 @@ function update_table($model)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function load_id_model_related($foreignkeyfield, $model)
|
||||||
|
{
|
||||||
|
|
||||||
|
//global $model;
|
||||||
|
|
||||||
|
$table_related=$foreignkeyfield->related_model->name;
|
||||||
|
|
||||||
|
$id_table_related='';
|
||||||
|
|
||||||
|
if(!isset($model[ $table_related ]->idmodel))
|
||||||
|
{
|
||||||
|
|
||||||
|
//$id_table_related='Id'.ucfirst(PhangoVar::$model[$key]->components[$new_field]->related_model);
|
||||||
|
//Need load the model
|
||||||
|
|
||||||
|
if(isset($foreignkeyfield->params_loading_mod['module']) && isset($foreignkeyfield->params_loading_mod['model']))
|
||||||
|
{
|
||||||
|
|
||||||
|
$model=load_model($foreignkeyfield->params_loading_mod);
|
||||||
|
|
||||||
|
//obtain id
|
||||||
|
|
||||||
|
$id_table_related=$model[ $foreignkeyfield->params_loading_mod['model'] ]->idmodel;
|
||||||
|
|
||||||
|
/*unset(PhangoVar::$model[ $foreignkeyfield->params_loading_mod['model'] ]);
|
||||||
|
|
||||||
|
unset($cache_model);*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
$id_table_related=$model[ $table_related ]->idmodel;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if($id_table_related=='')
|
||||||
|
{
|
||||||
|
|
||||||
|
//Set standard...
|
||||||
|
|
||||||
|
$id_table_related='Id'.ucfirst($table_related);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $id_table_related;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
@ -30,7 +30,7 @@ class ForeignKeyField extends IntegerField{
|
||||||
$this->size=$size;
|
$this->size=$size;
|
||||||
$this->form='SelectForm';
|
$this->form='SelectForm';
|
||||||
$this->related_model=&$related_model;
|
$this->related_model=&$related_model;
|
||||||
$this->container_model=$this->related_model->name_model;
|
$this->container_model=$this->related_model->name;
|
||||||
//Fields obtained from related_model if you make a query...
|
//Fields obtained from related_model if you make a query...
|
||||||
$this->fields_related_model=array();
|
$this->fields_related_model=array();
|
||||||
//Representative field for related model...
|
//Representative field for related model...
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue