2012-04-09 8 views
2

私はテーブルを空にしようとしていますが、私は関数が正しいことを知っていたのですか?Codeigniter - >関数empty_tableを使用

モデル:

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

コントローラー:

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

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

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

エラー:お使いのコントローラで

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

DELETE FROM `companyDetails,hostingDetails,layoutDetails` 

答えて

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 = '') 

どうやらあなたはこの

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

を行うことができない代わりに、empty_table三回呼び出す必要がありますあなたのニーズに合っています。

0

ます(それがロードされ、自動ではない場合)最初のモデルをロードする必要が

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

あなたのコントローラで使用されるよう

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

をたどり、最後にビューをロードすると、あなたがそのモデルから機能を使用する前に、すべてのコードは、偶数ライン

$this->quote->removeQuote(); 

を以下の後に実行された後だけで、複数のテーブル名を受け入れていないempty_tableCIドキュメントで確認。それように、あなたは常にCodeIgniterのDB_active_rec.phpファイルをハックすることができ

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

+0

彼が最初に '__construct()'にロードしたのですが、CodeIgniterのDatabaseクラスに 'empty_tables()'というメソッドがありますか? – novato

+1

私のモデルは自動的にロードされており、こちらをご覧ください:http://codeigniter.com/user_guide/database/active_record.html#delete –

+0

ありがとうございました。 –

関連する問題