2014-01-12 76 views
0

我有兩個表是相關的(putusan和detail_putusan)。循環數據並插入Yii表

我在控制器上做了一個循環,以便獲取表單中的現有數據,然後存儲到表detilResult中。但是我沒有拿到所有的數據。 只有一個數據最後,可以採取和保存到detail_putusan表。

如何通過循環控制器檢索所有數據?

我的控制器代碼:

public function actionCreate() 
{  
    $model = new HasilPutusan; 


    if(isset($_POST['HasilPutusan'])) 
    { 
     $HasilPutusan   = new HasilPutusan(); 
     $DetilSaksi   = new DetilSaksi(); 
     $HasilPutusan->attributes = $_POST['HasilPutusan']; 

     if($HasilPutusan->save()){   
      foreach ($_POST['rows'] as $key => $count){ 
       $DetilSaksi->id_detil_fk = $HasilPutusan->id_detil_fk; 
       $DetilSaksi->id_saksi = $_POST['data_'.$count]; 
       $DetilSaksi->save(); 
      } 
      $this->redirect('index'); 
     } 
    } 

    $this->render('create',array(
     'model'=>$model, 
    )); 
} 

我的觀點:

enter image description here

我的觀點HTML:

<tbody> 
    <tr> 
     <td> 
      <input type="hidden" value="1" name="rows[]" id="rows_1"> 
      <select name="data_1" id="data_1" class="small"> 
       <option value="">- Pilih Data -</option> 
       <option value="1">Rian Josh</option> 
       <option value="2">Brian Mac</option> 
       <option value="3">Widi Astanto</option> 
       <option value="4">Edy Gordo</option> 
       <option value="5">Jin Kazama</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <input type="hidden" value="2" name="rows[]" id="rows_2"> 
      <select name="data_2" id="data_2" class="small"> 
       <option value="">- Pilih Data -</option> 
       <option value="1">Rian Josh</option> 
       <option value="2">Brian Mac</option> 
       <option value="3">Widi Astanto</option> 
       <option value="4">Edy Gordo</option> 
       <option value="5">Jin Kazama</option> 
      </select> 
     </td> 
     <td><a class="remCF" href="javascript:void(0);">Remove</a></td> 
    </tr> 
    <tr> 
     <td> 
      <input type="hidden" value="3" name="rows[]" id="rows_3"> 
      <select name="data_3" id="data_3" class="small"> 
      <option value="">- Pilih Data -</option> 
      <option value="1">Rian Josh</option> 
      <option value="2">Brian Mac</option> 
      <option value="3">Widi Astanto</option> 
      <option value="4">Edy Gordo</option> 
      <option value="5">Jin Kazama</option> 
      </select> 
     </td> 
     <td><a class="remCF" href="javascript:void(0);">Remove</a></td> 
    </tr> 
</tbody> 

回答

3

移位DetilSaksi的初始化到foreach循環內部。

 if($HasilPutusan->save()){   
      foreach ($_POST['rows'] as $key => $count){ 
       $DetilSaksi   = new DetilSaksi(); 
       $DetilSaksi->id_detil_fk = $HasilPutusan->id_detil_fk; 
       $DetilSaksi->id_saksi = $_POST['data_'.$count]; 
       $DetilSaksi->save(); 
      } 
      $this->redirect('index'); 
     }