मान लीजिए मेरे पास समान संरचना वाले 2 समान तालिका हैं (इसे 'टेबल ए' पर कॉल करें & 'tableB')।CAKEPHP में हम गतिशील रूप से किसी विशेष मॉडल से जुड़े तालिका को बदल सकते हैं?
मैं तालिका 'ए' पर कुछ डेटा और तालिका 'बी' पर कुछ डेटा सहेजना चाहता हूं।
अब मैं दोनों तालिका के लिए एक ही मॉडल का उपयोग करना चाहता हूं।
मैं नियंत्रक पर स्थिति के आधार पर गतिशील रूप से बदलने के लिए मॉडल से जुड़े तालिका को बदलना चाहता हूं ('मॉडलएम' कहें)।
उदा।
नियंत्रक में: - // नमूना कोड
function saveProduct(){
$this->loadModel('ModelM');
if(condition){
$this->ModelM->useTable = 'A';
}else{
$this->ModelM->useTable = 'B';
}
$this->ModelM->save($this->data);
}
14 वीं जनवरी 2011
निम्नलिखित पर अलावा कोड की कॉपी/पेस्ट मैं पर काम कर रहा हूँ है :
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);
}
दुर्भाग्य से यह काम नहीं करता है ...
मेरे समस्या थोड़ी अलग है, मैं सिर्फ एक उदाहरण देकर यह समझाया था ... मैं एक यादृच्छिक मेज गतिशील रूप से (एक मौजूदा तालिका के सटीक प्रतिकृति) avg_price बनाने के लिए, कुछ जटिल गणना कर (चाहते हैं) और फिर मौजूदा तालिका को इस नए टेबल में कॉपी करें, इसके साथ 1 नया कॉलम जोड़ने के साथ 'avg_price' ... अब मैं 'avg_price' फ़ील्ड में 'ऑर्डर बाय' का उपयोग करके इस गतिशील रूप से बनाई गई तालिका को पगेट करना चाहता हूं ... पेजिंग के बाद मैं टेबल छोड़ दूंगा .... – Libu
इसलिए प्रत्येक बार जब मैं स्क्रिप्ट चलाता हूं तो एक टेबल बनाई जाएगी-> गणना-> पुरानी तालिका को गणना की गई फ़ील्ड के साथ नई तालिका में कॉपी करें-> नई तालिका को पेजेट करें और डेटा सेट करें देखने के लिए-> तालिका ड्रॉप करें .... – Libu
क्या हम फ्लाई और एसीआई पर टेम्पलेटरी टेबल बना सकते हैं जीएन मॉडल यह करने के लिए ?? – Libu