laravelを使用しています。初心者です。
どうしてもわからないことがあるため、質問をさせてください。
DBに複数レコードをインサートする場合についてです。
https://kengotakimoto.com/post-2562/
こちらのサイトを参考にして概要は理解できたのですが、
複数レコードの数が変動する場合にどのようなコードを掛けばよいのかで躓いています。
たとえば、2つのデータをインサートする場合は下記のように書くことで成功しました。
$datum = [ [ 'title' => $request->title['0'], 'price'=> $request->price['0'], 'nums'=> $request->nums['0'], 'user_id'=> $request->user_id['0'], 'document_id'=> $request->document_id['0'] ], [ 'title' => $request->title['1'], 'price'=> $request->price['1'], 'nums'=> $request->nums['1'], 'user_id'=> $request->user_id['1'], 'document_id'=> $request->document_id['1'] ], ]; // save into tstDB.users $cli = DB::table('details') -> insert($datum);
今回やりたいことですが、
配列の数が変動するため、 for文を利用してこのような記述をしようと思いました。
$count = count($name); for($i=0; $i < $count; $i++){ if($i==0){ $datum = [ ; } ['title' => $request->title[$i], 'price'=> $request->price[$i], 'nums'=> $request->nums[$i], 'user_id'=> $request->user_id[$i], 'document_id'=> $request->document_id[$i]], if($i==$count-1){ ]; } }
上記のこのようにしてみたのですが、エラーが出て進めません。
エラー・メッセージはこちらになります。
syntax error, unexpected '[', expecting identifier (T_STRING)
恐らく、 1番目のif文の中の [ が閉じていないのでエラーになっているかと思いますが、まだ未熟なので他の書き方が思い浮かばない状況で困っております。
こちらをどのように解決されているのか、どなたか教えていただけると助かります。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/06 02:30
2020/08/06 04:01
2020/08/15 15:14