Angenommen, ich habe 2 identische Tabellen mit derselben Struktur (nennen Sie es 'tableA' & 'tableB').In CAKEPPP können wir die Tabelle, die mit einem bestimmten Modell verknüpft ist, dynamisch ändern?
Ich möchte bestimmte Daten in Tabelle 'A' und bestimmte Daten in Tabelle 'B' speichern.
JETZT möchte ich das gleiche MODELL für die Tabelle verwenden.
Ich möchte die mit dem Modell verknüpfte Tabelle (z. B. "ModelM") ändern, um sie basierend auf dem Zustand am Controller dynamisch zu ändern.
z.B.
In Reglern: - // Beispielcode
function saveProduct(){
$this->loadModel('ModelM');
if(condition){
$this->ModelM->useTable = 'A';
}else{
$this->ModelM->useTable = 'B';
}
$this->ModelM->save($this->data);
}
ADDITION ON 14. Januar 2011
Es folgt das Kopieren/Einfügen von Code Ich arbeite an :
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);
}
LEIDER funktioniert das nicht ...
Mein Problem etwas anders war, erklärte ich es nur durch ein Beispiel zu geben ... Ich möchte dynamisch eine Zufalls Tabelle erstellen (exakte Kopie einer bestehenden Tabelle), eine komplexe Berechnung machen (avg_price) und kopiere dann die existierende Tabelle in diese neue Tabelle mit der Hinzufügung von 1 neuen Spalte zu 'avg_price' ... Nun möchte ich diese dynamisch erzeugte Tabelle paginieren, indem ich 'Order by' zum Feld 'avg_price' benutze ... nach dem paginieren würde ich die Tabelle fallen lassen ... – Libu
Also jedes Mal, wenn ich das Skript ausführen würde eine Tabelle erstellt werden-> Berechnungen-> kopieren Sie die alte Tabelle mit berechneten Feld in die neue Tabelle-> paginieren die neue Tabelle und legen Sie die Daten zu sehen-> drop the table .... – Libu
KÖNNEN wir temporäre Tabelle auf der FLY und ASSI erstellen GN MODELL ZU IT ?? – Libu