ErrorException 数组到字符串的转换 Laravel - 将 JSON 导入 MySQL
Posted
技术标签:
【中文标题】ErrorException 数组到字符串的转换 Laravel - 将 JSON 导入 MySQL【英文标题】:ErrorException Array to string conversion Laravel - Importing JSON to 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。我该如何解决? 谢谢!
【问题讨论】:
【参考方案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 的内容并编辑您的问题吗以上是关于ErrorException 数组到字符串的转换 Laravel - 将 JSON 导入 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
ErrorException 数组到字符串的转换 Laravel - 将 JSON 导入 MySQL
Laravel 雄辩的 all() 方法给出错误“数组到字符串的转换”[关闭]
ErrorException strtotime() 期望参数 1 是字符串,给定数组
helpers.php 第 531 行中的 ErrorException:htmlentities() 期望参数 1 为字符串,给定数组