我正在向控制器發送數據數組,但它只將 1 行保存到數據庫,我需要保存多行(取決于數組長度)。代碼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貢獻1853條經驗 獲得超18個贊
移動$transit = new Transit;
到 foreach 內部,并在返回響應之前結束 foreach 循環。
當前設置中發生的情況是,在第一次迭代期間,創建了一個交通對象,并且在保存它時,它將獲得一個 id。因此,對于第二次和后續迭代,Transit 對象將具有一個id
并且調用 save 將對update
具有該 id 的記錄執行操作。
將它移到 foreach 中總會給你一個新的空Transit
對象,保存會給你一個新記錄。
- 1 回答
- 0 關注
- 148 瀏覽
添加回答
舉報
0/150
提交
取消