Laravel - 如何将数组保存到数据库

时间:2017-07-30 06:20:56

标签: php arrays laravel

我有一个这样的数组:

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();
}

1 个答案:

答案 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的数组,而不是关联数组。

现在,您可以将数组作为输入返回。