2016-07-18 6 views
2

私は次のJSONを持っています。私はJSONとLaravelの初心者です。私はLineNumStationNameStopNumのような配列オブジェクトのそれぞれをDBに保存したいと思います。どんな助けでも大歓迎です。私は解析することができましたが、DBに保存することができませんでした。LaravelのMySQL DBにJSONオブジェクトを保存する

foreach ($jsonIterator as $key => $val) { 
    if(is_array($val)) { 
     echo "$key:\n <br />" ; 

     $trainDetail->Route = "$key"; 

    } else { 
     echo "$key => $val\n <br />"; 
     $trainDetail->StopNumber = "$key"; 
     $trainDetail->StationName = "$val"; 
    } 
} 

ルートStopNumbが正しい値を記憶していない、LineNumを格納されていません。

ここでは私が取り組んでいるJSONです。

{"LineNum1":[{"StopNumber":"MN218","StationName":"ABCD"}],"LineNum2":[{"StopNumber":"MN244","StationName":"XYZ"}],"LineNum3":[{"StopNumber":"MN220","StationName":"DEFCG"},{"StopNumber":"MN318","StationName":"QWERTY"}]} 

ご協力いただきまして誠にありがとうございます。

よろしく、あなたはLaravelのクエリの形式を使用している場合

+1

JSONオブジェクトを保存することは、Laravelのやや難しい作業です。 ' - > pluck( 'field');を使用して配列を取得するだけでクエリを変更しないでください; – Sachith

+1

例を教えてもらえますか?ありがとうございました。 – PurnaSatyaP

答えて

0

通常のクエリは、このような何か、

[{"ID":"1","Code":"ECX4236"},{"ID":"10","Code":"LWJ3154"},{"ID":"11","Code":"TTX4201"},{"ID":"12","Code":"TTY2545"},{"ID":"13","Code":"RRA2553"}] 

を返します。

$items = DB::table('Items')->where('isActive','=',1)->pluck('Code'); 

これは配列を返します。

["ECX4236","LWJ3154","TTX4201","TTY2545","RRA2553"] 

Laravelを使用してこれをデータベースに簡単に入力できます。これが私がすることです。

+1

あなたはそれが間違っていると思います。 JSONレスポンスを返すURLにアクセスしています。 私はレスポンスを解析し、DBフィールドにデータを保存します。例えば、 。私の元のJSON '{"LineNum1":[{"StopNumber": "MN218"、 "StationName": "ABCD"}]、 "LineNum2":[{"StopNumber": "MN244"、 "StationName" {"StopNumber": "MN220"、 "StationName": "DEFCG"}、{"StopNumber": "MN318"、 "StationName": "QWERTY"}}} ' LineNumとStopNumberとStationNameをそれぞれのDBフィールドに取り込みたいと思います。あなたのソリューションは私にとってはうまくいかないと思う。 – PurnaSatyaP

関連する問題