2012-04-09 6 views
2

Ich versuche, die Tabellen zu leeren, aber ich fragte mich, ob ich die Funktion richtig?Codeigniter -> Funktion mit empty_table

Modell:

public function removeQuote() 
    { 
     $this->db->empty_table('companyDetails,hostingDetails,layoutDetails'); 
    } 

Controller:

public function submit() 
{ 
     $data['companyContact'] = $this->quote->getCompanyDetails()->companyContact; 

     $this->load->view('submit',$data); 

     $this->quote->removeQuote(); 
} 

Fehler:

Table '_quote.companyDetails,hostingDetails,layoutDetails' doesn't exist 

DELETE FROM `companyDetails,hostingDetails,layoutDetails` 

Antwort

9
/** 
* Empty Table 
* 
* Compiles a delete string and runs "DELETE FROM table" 
* 
* @param string the table to empty 
* @return object 
*/ 
public function empty_table($table = '') 

Anscheinend kann man dies nicht tun

$this->db->empty_table('companyDetails,hostingDetails,layoutDetails'); 

Stattdessen werden Sie empty_table dreimal anrufen:

$this->db->empty_table('companyDetails'); 
$this->db->empty_table('hostingDetails'); 
$this->db->empty_table('layoutDetails'); 

Sie können immer hacken CodeIgniter DB_active_rec.php Datei, so dass es passt zu Ihren Bedürfnissen.

0

In Ihrem Controller Sie muß das Modell zuerst laden (wenn es nicht geladen Auto ist)

$this->load->model('quote'); // Assuming your model name is 'quote' 

, bevor Sie die Funktion von diesem Modell verwenden, wie Sie in Ihrem Controller wie folgt verwendet

$data['companyContact'] = $this->quote->getCompanyDetails()->companyContact; 

und laden Sie die Ansicht zuletzt, nachdem der gesamte Code wurde empty_table nicht akzeptiert mehrere Tabellennamen in CI doc

$this->quote->removeQuote(); 

So überprüft auch nach folgenden Zeile ausgeführt.

+0

vielleicht hat er es zuerst in seine '__construct()' geladen, gibt es wirklich eine Methode namens 'empty_tables()' in der Datenbank Klasse von CodeIgniter? – novato

+1

Ich habe mein Modell automatisch geladen und siehe hier: http://codeigniter.com/user_guide/database/active_record.html#delete –

+0

Hab es, danke. –

Verwandte Themen