Laravel 数组到字符串的转换(API 存储在数据库中)Json

Laravel array to string conversion (API store in DATABASE) Json

当我从 API 获取信息并想将其填入我的数据库时,出现错误:

array to string conversion

注意:我的table是数据库中数组的json类型。

控制器:

    public function fetch()
    {

        $response = Http::get('some api');
        $countries = json_decode($response, true);


        foreach ($countries as $country)
        {
            $api = new Country();
            $api['code'] = $country['code'];
            $api['name'] = ['en' => $country['name']['en'], 'ka' => $country['name']['ka']];

            $api->save();
        }

        return 'DONE';
    }

我也尝试了其他方式,例如 json_decode($reponse->body()) 然后 $api->name = $country->name->en 等等...

我相信这个保存处理替代方案应该有效:

foreach ($countries as $country)
{
    $api = new Country();
    $api->code = $country['code'];
    $api->name = json_encode(['en' => $country['name']['en'], 'ka' => $country['name']['ka']]);

    $api->save();
}