2017-04-12 5 views
0

以下は私のモデルコードです。私が更新しようとすると、最初の行だけが更新され、他の行は更新されません。また、update_batchを試しました。Codeigniterでただ1つの行が更新されています

My Model Code: 
     foreach ($ingredients as $item) { 
     // $this->sma->print_arrays($item); 
     if($item['id']){ 
     $this->db->where('id', $item['id']); 
     $this->db->update('items', $item); 
     // } 
     return true; 
    } 

マイアレイ:(成分)

Array 
    (
    [0] => Array 
    (
     [id] => 16 
     [quantity] => 76 
    ) 

[1] => Array 
    (
     [id] => 92 
     [quantity] => 97 
    ) 

) 

はあなたの助けが

+3

return true;内部ループ。 –

+1

return文を削除します。 – Akintunde007

+0

@MubasharIqbal Ohh !!本当に素早く、仕事を楽にしました;) –

答えて

1

をaprreciatedされるデータのセットを更新するupdate_batchを使用してください。

$data = array(
    [0] => Array 
    (
     [id] => 16 
     [quantity] => 76 
    ) 

    [1] => Array 
    (
     [id] => 92 
     [quantity] => 97 
    ) 
); 

$this->db->update_batch('tableName', $data, 'id'); 
+0

私はちょうどループ内のリターンを削除し、それは働いた..おかげで –