亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 存儲多個只保存一個

Laravel 存儲多個只保存一個

PHP
暮色呼如 2023-10-21 16:10:01
我正在向控制器發送數據數組,但它只將 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對象,保存會給你一個新記錄。


查看完整回答
反對 回復 2023-10-21
  • 1 回答
  • 0 關注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號