Я хотел сохранить свои данные от handsontable. Ошибка Nothings, когда я пытаюсь сохранить свои данные. но мои данные из handsontable не могут быть вставлены в мою базу данных.
Вот мой код
public function actionSavePricelist($id)
{
header("Content-Type: application/json");
if(!Yii::app()->request->isPostRequest)
throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
$user = Yii::app()->session['loginSession']['userId'];
$model=$this->loadModel($id);
$vendor_price= json_decode($_POST['price_list']);
$flagError=0;
for($i=0;$i<count($vendor_price->data);$i++) {
$row = $vendor_price->data[$i];
if($row[0] == null && $row[1] == null) continue;
else {
if(!isset($row[3])){
$mVenPri = new MstVendorPricelist;
$idcity = MstCity::model()->findByAttributes(array(
'city_name' => $row[1]
)
);
$idc = $idcity->city_id;
$mVenPri->item_id=$row[3];
$mVenPri->vendor_id=$model->vendor_id;
$mVenPri->city_id=$idc;
$mVenPri->price=$row[2];
$mVenPri->created_date=date('Y-m-d H:i:s');
$mVenPri->created_by=$user;
$mVenPri->modified_date=date('Y-m-d H:i:s');
$mVenPri->modified_by=$user;
if(!$mVenPri->save())
$flagError++;
} else {
$modelprice=MstVendorPriceList::model()->findByPk($id);
$idcity = MstCity::model()->findByAttributes(array(
'city_name' => $row[1])
);
$idc = $idcity->city_id;
$modelprice->item_id=$row[3];
$modelprice->vendor_id=$model->vendor_id;
$modelprice->city_id=$idc;
$modelprice->price=$row[2];
$modelprice->created_date=date('Y-m-d H:i:s');
$modelprice->created_by=$user;
$modelprice->modified_date=date('Y-m-d H:i:s');
$modelprice->modified_by=$user;
if(!$modelprice->save())
$flagError++;
}
}
}
if($flagError == 0)
echo CJSON::encode(array('success'=>true,'msg'=>'You have successfully added data.'));
else
echo CJSON::encode(array('msg'=>'Error occurred during inserting details.'));
// var_dump($vendor_price);
}
на самом деле эта функция является обновлением, но, как и сохранение данных. Обновите моего поставщика и сохраните новые данные из handsontable.
Помогите мне, пожалуйста. есть ли что-то не так с моим кодом
Похоже, что до сохранения проверки в MstVendorPricelist
модель, вернуть ложь. Вы должны узнать это в коде модели. Убедитесь, что все поля получают правильные данные, когда вы заполняете их в контроллере.
Также вы можете попробовать отключить проверки при вставке данных. прочитай это
if(!$mVenPri->save(false))
$flagError++;
Вы найдете больше информации об Active Record в этом руководство
Удачного кодирования!
Других решений пока нет …