Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel PHP中从API更新数据库时出现问题_Php_Laravel_Api - Fatal编程技术网

Laravel PHP中从API更新数据库时出现问题

Laravel PHP中从API更新数据库时出现问题,php,laravel,api,Php,Laravel,Api,我有一个项目数据库,现在我需要更新数据库中10000条记录中的图片,我发出一个API请求,我收到一个答案,但我无法正确处理答案 我收到的结果是: {"result":{"items":{"★ StatTrak™ Bowie Knife | Safari Mesh (Battle-Scarred)":{"actions":[{"link":"steam://rungame/730/7656

我有一个项目数据库,现在我需要更新数据库中10000条记录中的图片,我发出一个API请求,我收到一个答案,但我无法正确处理答案

我收到的结果是:

{"result":{"items":{"★ StatTrak™ Bowie Knife | Safari Mesh (Battle-Scarred)":{"actions":[{"link":"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S%owner_steamid%A%assetid%D751048845621896210","name":"Inspect in Game..."}],"background_color":null,"commodity":false,"descriptions":[{"app_data":"","type":"html","value":"Exterior: Battle-Scarred"},{"app_data":"","color":"#99CCFF","type":"html","value":"This item features StatTrak™ technology, which tracks certain statistics when equipped by its owner."},{"app_data":"","color":"#CF6A32","type":"html","value":"This item tracks Confirmed Kills."},{"app_data":"","type":"html","value":"This full-tang sawback Bowie knife is designed for heavy use in brutal survival situations. It has been spray-painted using mesh fencing and cardboard cutouts as stencils.\n\n<i>A predator is a predator, no matter the environment</i>"}],"icon_url":"-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpovbSsLQJfwObaZzRU7dCJlo-cnvLLIKvum25C4Ppli-f-_Yn0nk36-EZrYjz2cNedIVRqMFCE_VO3xOfqgpfutJWfySRi7nRw7Snan0DmhQYMMLIiC3JRKA"
我的代码:

public function update_information()
{
    $prices = json_decode(file_get_contents('https://api.hexa.one/market/items/730?key=O2XDN99XN45XY5EN83CEP3ZZ8X5WDRY4'), true);

    if (!$prices['result']) {
        dd('Error');
    }

    $newPrices = [];

    foreach ($prices['items'] as $key => $price) {
        $newPrices[$key] = $price['icon_url'];
    }

    $totalUpdated = 0;

     foreach (AllItem::query()->get() as $itemDB) {
        $fullName = $itemDB->market_hash_name;
        if( $itemDB->exterior ) {
            $fullName = $itemDB->market_hash_name . '(' . $itemDB->exterior . ')';
        }


        if (!isset($newPrices[$fullName])) {
            continue;
        }


        $itemDB->update(['image' => $newPrices[$fullName]]);
        $totalUpdated++;
        $itemDB->save();

        $totalUpdated++;
    }

    dd('done. Updated: ' . $totalUpdated);
}

我怎么能修好它?希望你的帮助

您忘记了
结果。
键位于
结果

array:1 [
  "result" => array:2 [
    "items" => array:17990 [
        ....
    ]
    "updated" => 1618501391
  ]
]
因此,您必须将其替换为:

foreach ($prices['result']['items'] as $key => $price) {
    ...
}

foreach$prices['result']['items']
。。。
foreach ($prices['result']['items'] as $key => $price) {
    ...
}