我有 2 个相关的表(putusan 和 detail_putusan)。
我在controller上做了一个循环,这样就可以把表单中已有的数据取出来,然后存入一个表detilResult中。但是我未能获取所有数据。 只有一个数据,最后一个可以被提取并保存到detail_putusan表。
如何通过在 Controller 上循环来检索所有数据?
我的 Controller 代码:
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,
));
}
我的观点:
我的 View 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>
最佳答案
将 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');
}
关于php - 使用 Yii 循环数据并插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21072119/