<?xml version="1.0" encoding="utf-8"?>
<elenco_clienti>
<cliente>
<cod>00001</cod>
<name>xxxxxxxxxx</name>
<address>VIA nnnnnnnn</address>
</cliente>
<cliente>
<cod>00003</cod>
<name>yyyyyyyyyyy</name>
<address>VIA calllll</address>
</cliente>
<cliente>
<cod>00005</cod>
<name>oooooooooooo</name>
<address></address>
</cliente>
</elenco_clienti>
我有这个Xml文件,并将我的数组设置为:
$xml1 = simplexml_load_file($path);
$json = json_encode($xml1);
array = json_decode($json, true);
$clien =$array['cliente'];
但当我提出疑问时
if(!empty($clien))
{
DB::table('clientis')->insert($clien);
dd('Insert Recorded successfully.');
}
我错了
QueryException Array to string conversion (SQL: insert into `clientis`......
我认为价值是空的。。。。。
我该怎么办?
谢谢
最佳答案
出现此错误是因为最后一项中的address
是空数组:
2 => array:3 [▼
"cod" => "00005"
"name" => "oooooooooooo"
"address" => []
]
你需要这样做来解决这个问题:
$clien = array_map(function($i) {
$i['address'] = empty($i['address']) ? '' : $i['address'];
return $i;
}, $clien);
关于php - laravel插入查询值为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48376258/