我有一个这样的数组:
array:4 [▼
"*name1*" => 1
"*name2*" => 1
"*name3*" => 2
"*name4*" => 1
]
我有一张带有'id'; 'name'; 'time'
然后我如何使用Laravel将此数组保存到Item Table中?
我已经这样做但我知道它不起作用。但我不知道如何保存它
foreach ($data_participant[$i]['attributes']['stats']['itemGrants'] as $key => $value) {
$itemGrants = new ItemGrant;
$itemGrants->item = $key;
$itemGrants->time = $value;
$itemGrants->save();
}
答案 0 :(得分:3)
只需使用json_encode
函数即可将array
转换为JSON
字符串。您可以参考此link获取更多信息。
例如,将数组转换为JSON字符串格式:
$array = ["name"=>1,"name2"=>2,"name3"=>3];
$json_array = json_encode($array);
现在,输出将是一个JSON字符串:
[{"name":"1"},{"name2":"2"},{"name":"3"}];
您可以将其作为JSON格式的字符串保存到数据库中。
如果您希望数据返回数组,则必须解码。例如:
$string_json = "[{"name":"1"},{"name2":"2"},{"name":"3"}]";
$array_output = json_decode($string_json,true);
注意传递给true
的{{1}}布尔参数,这很重要,因为没有它json_decode
将返回json_decode
的数组,而不是关联数组。
现在,您可以将数组作为输入返回。