Supponiamo di avere 2 tabelle identiche aventi la stessa struttura (chiamiamolo 'tableA' & 'tableB').In CAKEPHP possiamo cambiare dinamicamente la tabella collegata ad un particolare modello?
Desidero salvare determinati dati sulla tabella 'A' e alcuni dati sulla tabella 'B'.
ORA Desidero utilizzare lo stesso MODELLO per entrambi i tavoli.
Desidero modificare la tabella collegata al modello (ad esempio "ModelM") per modificare dinamicamente in base alle condizioni del controller.
ad es.
In regolatore: - // codice di esempio
function saveProduct(){
$this->loadModel('ModelM');
if(condition){
$this->ModelM->useTable = 'A';
}else{
$this->ModelM->useTable = 'B';
}
$this->ModelM->save($this->data);
}
AGGIUNTA SU 14 Gennaio 2011
seguito è il copia/incolla del codice che sto lavorando su :
function experiment(){
$tableName = 'temp_table'.'1234';
mysql_query('CREATE TABLE '.$tableName.' LIKE temp_home_masters');
$sql = $this->createInsertQuery($new_arr,$tableName);
$status = mysql_query($sql);
if($status){
echo "saved successfully";
}else{
echo "error";
}
$this->NewHomeMaster->setSource($tableName);//NewHomeMaster was previously attached to a different table , here I want to change the tableName the model linked with dynamically.Model 'NewHomeMaster' already exists and uses a table ...Here I am willing to link this model to the newly created tempory table.//
$home_details=$this->paginate('NewHomeMaster',array($new_conditions));
mysql_query('DROP table '.$tableName);
}
Purtroppo questo non funziona ...
Il mio problema era po 'diverso, ho appena spiegato, dando un esempio ... voglio creare una tabella casuale in modo dinamico (replica esatta di una tabella esistente), fare qualche calcolo complesso (avg_price) e quindi copia la tabella esistente in questa nuova tabella con l'aggiunta di 1 nuova colonna per dire "avg_price" ... Ora voglio impaginare questa tabella creata dinamicamente usando un campo "ordina per" al campo "avg_price" ... dopo aver impaginato avrei lasciato cadere la tabella .... – Libu
Quindi ogni volta che eseguo lo script, viene creata una tabella-> calcoli-> copia la vecchia tabella con il campo calcolato nella nuova tabella-> impagina la nuova tabella e imposta i dati per visualizzare-> rilasciare la tabella .... – Libu
POSSIAMO CREARE TABELLA TEMPORANEA SUL FLY E ASSI MODELLO GN PER ESSO ?? – Libu