2013-09-24 33 views
0

我讀了類似的batch_update問題,但我仍然有問題。預先感謝您的幫助!我接收到錯誤消息(「提交批更新的一個或多個行缺少指定的索引。」),用於以下的代碼:在codeigniter中使用batch_update的問題

控制器:

public function do_edit_page(){ 
    $id = $this->input->post('page_id', TRUE); 
    $link_title = $this->input->post('page_link_title', TRUE); 
    $link = $this->input->post('page_link_sub_title', TRUE); 
    $this->content_model->update_links($id, $link_title, $link); 
    $this->index(); 
} 

型號:

public function update_links($id, $link_title, $link){ 
    $data = array(
     array(
      'page_id' => $id, 
      'link_title' => $link_title, 
      'link' => $link 
     ) 
    ); 
    $this->db->update_batch('content_links', $data, $id); 
} 

回答

2

檢查CI文檔:http://ellislab.com/codeigniter/user-guide/database/active_record.html

第一個參數將包含表名,第二個是值的關聯數組,第三個參數是where鍵。

所以第三個參數應該是一個列而不是數據。

+0

謝謝你。我可以請進一步請。我現在將第三個參數更改爲'page_id'。錯誤消失了,但不會更新。你知道爲什麼嗎?謝謝。 – Hobby99

+0

你確定你提供了正確的參數嗎?你能告訴我一個輸入例子和你正在尋找的輸出查詢的例子嗎? – trrrrrrm

+0

耶認識到我有更復雜的問題,因爲我在視圖中使用foreach。我管理它進行更新,但它使用相同的數據更新每一行。我打開了另一個更具體的Q.謝謝! http://stackoverflow.com/questions/18979135/update-multiple-rows-with-same-id-using-forach-loop – Hobby99