【问题标题】:ErrorException Array to string conversion Laravel - Importing JSON to MySQLErrorException 数组到字符串的转换 Laravel - 将 JSON 导入 MySQL
【发布时间】:2021-06-28 09:52:46
【问题描述】:

我尝试将 JSON 格式的文件导入 MySQL 数据库。我把这段代码放在web.php中:

Route::get('/pages', function(){
    $json = file_get_contents(storage_path('posts_and_comments.json'));
    $objs = json_decode($json,true);
    foreach ($objs as $obj)  {
        foreach ($obj as $key => $value) {
            $insertArr[Str::slug($key,'_')] = $value;
        }
        DB::table('my_likes')->insert($insertArr);
    }
    dd("Finished adding data in examples table");
}); 

它给了我一个 ErrorException 数组到字符串转换 Laravel。我该如何解决? 谢谢!

【问题讨论】:

    标签: php arrays laravel string


    【解决方案1】:

    您可以尝试将数组编码为 json 对象而不是将其插入到 db 中吗?

    foreach ($objs as $obj)  {
        foreach ($obj as $key => $value) {
            $insertArr[Str::slug($key,'_')] = json_encode($value);
        }
        DB::table('my_likes')->insert($insertArr);
    }
    

    【讨论】:

    • 它给了我错误:TypeError 参数 1 传递给 Illuminate\Database\Query\Builder::insert() 必须是数组类型,给定字符串,在..\routes\web.php 中调用在第 39 行(这是您给定代码的行)
    • $insertArr 的元素可能不是字符串值。您可以打印 $insertArr 的内容并编辑您的问题吗
    猜你喜欢
    • 2020-09-10
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 2021-07-05
    • 1970-01-01
    相关资源
    最近更新 更多