我有2个相关的表( putusan和detail_putusan )。
我在控制器上做了一个循环,以便获取表单中的现有数据,然后将其存储到表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,
));
}
我的观点:
我的观点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>
答案 0 :(得分: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');
}