2017-07-30 9 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

を保存する方法がわからない、単にarrayからJSON文字列に変換するにはjson_encode関数を使用します。詳細については、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); 

ここで、入力として配列を戻すことができます。

楽しい一日を!

関連する問題