2017-07-30 89 views
0

我有一個這樣的數組:Laravel - 如何保存數組到數據庫

array:4 [▼ 
    "*name1*" => 1 
    "*name2*" => 1 
    "*name3*" => 2 
    "*name4*" => 1 
] 

而且我有一個表項目'id'; 'name'; 'time'

那麼如何我可以保存這個數組項目表使用Laravel?

我已經這樣做,但我知道它不工作。但我不知道如何保存它

foreach ($data_participant[$i]['attributes']['stats']['itemGrants'] as $key => $value) { 
     $itemGrants = new ItemGrant; 
     $itemGrants->item = $key; 
     $itemGrants->time = $value; 

     $itemGrants->save(); 
} 
+0

什麼是錯誤?或數組'$ data_participant [$ i] ['attributes'] ['stats'] ['itemGrants']'可能是空的? –

+0

'ItemGrant'是否是一個雄辯的模型?如果是,那麼哪個表由模型表示? – MASh

+0

你好@SagarGautam:不,它不是空的。這是我在上面寫的數組。沒有錯誤發生。但它不會保存到數據庫中。 –

回答

0

只需簡單地使用json_encode功能轉換從arrayJSON字符串。有關更多信息,請參閱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); 

現在,您可以取回數組作爲您的輸入。

祝您有美好的一天!