0
我試過在網絡服務中獲取數據http://api.rajaongkir.com/dokumentasi/starter。而我在瀏覽器中成功展示數據。當我執行插入數據到數據庫有很多錯誤的東西。我不知道爲什麼。批量使用yii2中的Web服務將數據插入數據庫錯誤
此代碼用於在網絡服務中獲取數據http://api.rajaongkir.com/dokumentasi/starter。並放在控制器/ TestController.php
public function actionGetProvince($id=0)
{
$client = new client();
$addUrl = ($id>0)?'id='.$id:'';
$response = $client->createRequest()
->setFormat(Client::FORMAT_JSON)
->setMethod('get')
->setUrl('http://api.rajaongkir.com/starter/province?'.$addUrl)
->addHeaders(['key' => 'example'])
->send();
if ($response->isOk) {
$content = \Yii\helpers\Json::decode($response->content);
//$content['rajaongkir']['query']
//$content['rajaongkir']['status']
$results = $content['rajaongkir']['results'];
if ($id > 0) {
if (count($results)>0) {
echo $results['province_id'] . ' - ';
echo $results['province'] . '<br>';
}
else {
echo "blank";
}
} else {
foreach ($results as $provinces) {
echo $provinces['province_id']." - ".$provinces['province']."<br>";
}
}
} else {
$content = \Yii\helpers\Json::decode($response->content);
echo $content['rajaongkir']['status']['description'];
}
}
而這個代碼插入數據與很多數據庫中,我把文件放在相同的。
Yii::$app->db->createCommand()->batchInsert('province', [
'id_province' => $provinces['province_id'], 'name' => $provinces['province']
])->execute();
而結果錯誤是:
PHP的警告 - 警予\基地\ ErrorException:缺少論據3警予\ DB \命令:: batchInsert(),稱爲C:\ WAMP \ www \ basic_yii2 \ controllers \ TestController.php在第60行,並且定義爲
嘗試與此有關。 Yii :: $ app-> db-> createCommand() - > batchInsert('province',['id_province','name'],[$ provinces ['province_id'],$ provinces ['province']]) - >執行(); –