$arrItems = array();
$data = LineTransaksi::model()->findAllByAttributes(array('id_header'=>$id));
foreach ($_POST['jml_kembali_bgs'] as $q3k => $q3v)
{
if(isset($data[$q3k]))
{
$tabdata=LineTransaksi::model()->findByPk($data[$q3k]->id_line);
}
else
{
$tabdata=new LineTransaksi;
}
$tabdata->jml_kembali_bgs=$q3v;
$arrItems[] = $tabdata;
}
foreach ($_POST['jml_kembali_retak'] as $q3r => $q3t)
{
if(isset($data[$q3r]))
{
$tabdata=LineTransaksi::model()->findByPk($data[$q3r]->id_line);
}
else
{
$tabdata=new LineTransaksi;
}
$tabdata->jml_kembali_retak=$q3t;
$tabdata->last_updated_date=new CDbExpression('now()');
$arrItems[] = $tabdata;
}
foreach ($arrItems as $object)
{
$object->save();
}
感谢您的关注。
答案 0 :(得分:2)
每次使用$arrItems[] = $tabdata;
时,您都会使用$ tabdata中的新值替换$ arrItems []数组。
您应该使用array_push($arrItems, $tabdata);
代替。
这样您的代码应如下所示:
$arrItems = array();
foreach ($_POST['jml_kembali_bgs'] as $q3k => $q3v)
{
if(isset($data[$q3k]))
{
$tabdata=LineTransaksi::model()->findByPk($data[$q3k]->id_line);
}
else
{
$tabdata=new LineTransaksi;
}
$tabdata->jml_kembali_bgs=$q3v;
array_push($arrItems, $tabdata);
}
foreach ($_POST['jml_kembali_retak'] as $q3r => $q3t)
{
if(isset($data[$q3r]))
{
$tabdata=LineTransaksi::model()->findByPk($data[$q3r]->id_line);
}
else
{
$tabdata=new LineTransaksi;
}
$tabdata->jml_kembali_retak=$q3t;
$tabdata->last_updated_date=new CDbExpression('now()');
array_push($arrItems, $tabdata);
}
foreach ($arrItems as $object)
{
$object->save();
}
<强>更新:强>
你可以试试这个:
$arrItems = array();
foreach ($_POST['jml_kembali_bgs'] as $q3k => $q3v)
{
if(isset($data[$q3k]))
{
$tabdata=LineTransaksi::model()->findByPk($data[$q3k]->id_line);
}
else
{
$tabdata=new LineTransaksi;
}
$tabdata->jml_kembali_bgs=$q3v;
array_push($arrItems, $tabdata);
}
foreach ($arrItems as $object)
{
$object->save();
}
foreach ($_POST['jml_kembali_retak'] as $q3r => $q3t)
{
if(isset($data[$q3r]))
{
$tabdata=LineTransaksi::model()->findByPk($data[$q3r]->id_line);
}
else
{
$tabdata=new LineTransaksi;
}
$tabdata->jml_kembali_retak=$q3t;
$tabdata->last_updated_date=new CDbExpression('now()');
array_push($arrItems, $tabdata);
}
foreach ($arrItems as $object)
{
$object->save();
}