我正在向控制器發(fā)送數(shù)據(jù)數(shù)組,但它只將 1 行保存到數(shù)據(jù)庫(kù),我需要保存多行(取決于數(shù)組長(zhǎng)度)。代碼controllerpublic function store(Request $request){ $user = Auth::guard('api')->user(); $transit = new Transit; foreach($request->input('serials') as $serial){ //looping my serials array for each row if(!empty($serial['barcode_id'])) { // filter out empty objects from array $barcode = Barcode::where('serial_number', $serial['barcode_id'])->orWhere('u_serial_number', $serial['barcode_id'])->first(); $transit->barcode_id = $barcode['id']; $transit->transNu = mt_rand(1000000000, 9999999999); } } $transit->from_id = $request->input('from_id'); $transit->to_id = $request->input('to_id'); $transit->sender_id = $user->id; $transit->description = $request->input('description'); if($transit->save()){ DB::table('outlet_products')->where('barcode_id', $transit->barcode_id)->update(['outlet_id' => null]); } return response()->json([ 'data' => $transit, 'message' => 'Transit data saved successfully.' ]);}截屏request datastored data
1 回答

慕容森
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
移動(dòng)$transit = new Transit;
到 foreach 內(nèi)部,并在返回響應(yīng)之前結(jié)束 foreach 循環(huán)。
當(dāng)前設(shè)置中發(fā)生的情況是,在第一次迭代期間,創(chuàng)建了一個(gè)交通對(duì)象,并且在保存它時(shí),它將獲得一個(gè) id。因此,對(duì)于第二次和后續(xù)迭代,Transit 對(duì)象將具有一個(gè)id
并且調(diào)用 save 將對(duì)update
具有該 id 的記錄執(zhí)行操作。
將它移到 foreach 中總會(huì)給你一個(gè)新的空Transit
對(duì)象,保存會(huì)給你一個(gè)新記錄。
- 1 回答
- 0 關(guān)注
- 144 瀏覽
添加回答
舉報(bào)
0/150
提交
取消