3 回答

TA貢獻1887條經驗 獲得超5個贊
我收到 ErrorException (E_NOTICE) 未定義索引:NewConfirmed
當我做了這樣的事情時
foreach($data['Countries'] as $country){
$counter= Country::create([
'Country'=> $country['Country'],
'CountryCode'=>$country['CountryCode'],
'Slug'=>$country['Slug'],
'Date'=>$country['Date'],
'NewConfirmed'=>$country['NewConfirmed'],
'TotalConfirmed'=>$country['TotalConfirmed'],
'NewRecovered'=>$country['NewRecovered'],
'TotalRecovered'=>$country['TotalRecovered'],
'NewDeaths'=>$country['NewDeaths'],
'TotalDeaths'=>$country['TotalDeaths']
]);
}
foreach($data as $da){
$globals=Globas::create([
'NewConfirmed'=>$da['NewConfirmed'],
'TotalConfirmed'=>$da['TotalConfirmed'],
'NewRecovered'=>$da['NewRecovered'],
'TotalRecovered'=>$da['TotalRecovered'],
'NewDeaths'=>$da['NewDeaths'],
'TotalDeaths'=>$da['TotalDeaths']
]);
}
}

TA貢獻1772條經驗 獲得超5個贊
在 foreach 內部,您應該引用 $da 變量,而不是該位置的 $data:
Country::create([
'Country'=> $data['Country'],
'CountryCode'=>$data['CountryCode'],
'Slug'=>$data['Slug'],
'Date'=>$data['Date'],
'NewConfirmed'=>$data['NewConfirmed'],
'TotalConfirmed'=>$data['TotalConfirmed'],
'NewRecovered'=>$data['NewRecovered'],
'TotalRecovered'=>$data['TotalRecovered'],
'NewDeaths'=>$data['NewDeaths'],
'TotalDeaths'=>$data['TotalDeaths']
]);
另一點是國家也是一個數組,因此您可能應該為國家創建另一個 foreach。
foreach ($data['Countries'] as $country) { }

TA貢獻1852條經驗 獲得超7個贊
您必須為Global::create()and的返回值分配一個變量Country::create()。像這樣$global = Global::create(...)運行$global->save()將其存儲在數據庫中。
編輯:根據您最新的回復,您不應該迭代數據,因為返回的數據不是數組。對于全局變量,您不需要迭代。你可以這樣做:
$response = $client->request('GET', 'https://api.covid19api.com/summary');
$data = json_decode($response->getBody()->getContents(),true);
$globals=Globas::create([
'NewConfirmed'=>$data['NewConfirmed'],
'TotalConfirmed'=>$data['TotalConfirmed'],
'NewRecovered'=>$data['NewRecovered'],
'TotalRecovered'=>$data['TotalRecovered'],
'NewDeaths'=>$data['NewDeaths'],
'TotalDeaths'=>$data['TotalDeaths']
]);
$globals->save();
foreach($data['Countries'] as $country) {
$country = Country::create([
'Country'=> $country['Country'],
'CountryCode'=>$country['CountryCode'],
'Slug'=>$country['Slug'],
'Date'=>$country['Date'],
'NewConfirmed'=>$country['NewConfirmed'],
'TotalConfirmed'=>$country['TotalConfirmed'],
'NewRecovered'=>$country['NewRecovered'],
'TotalRecovered'=>$country['TotalRecovered'],
'NewDeaths'=>$country['NewDeaths'],
'TotalDeaths'=>$country['TotalDeaths']
]);
$country->save();
}
- 3 回答
- 0 關注
- 206 瀏覽
添加回答
舉報