未定义的幼虫指数

时间:2019-07-23 04:28:52

标签: laravel

在命令中获得“未定义的索引冲突”,并且以前可以正常工作。但是现在,当我在移动的服务器上运行命令时,它只会出错。我不知道我是否错过了一个简单的答案或什么

    public function __construct(int $numWars = 500)
    {
        $client = new PWClient();
        $json = $client->getPage("http://game.com/api/wars/{$numWars}/?key=".env("API_KEY"));
        $decoded = \json_decode($json, true);
        $this->result = Collection::make($decoded["wars"]);
    }

2 个答案:

答案 0 :(得分:0)

由于键wars在响应中不存在,所以您收到该错误。

您查询的API很可能已更改了其响应格式。您应该检查它的文档,然后更新代码。

答案 1 :(得分:0)

您的$ json缺少某些内容:

尝试一下:

public function __construct(int $numWars = 500)
{
   $client = new PWClient();

   $key = env("API_KEY");
   $json = $client->getPage("http://game.com/api/wars/{$numWars}/?key={$key}");

   $decoded = json_decode($json, true);

   if(!empty($decoded['wars'])){
       $this->result = Collection::make($decoded["wars"]);
   }else{
       dump('decode variable does not have wars key or is empty:');
       dd($decoded);
   }

}