Version
Laravel6.0
Mysql8系
起きている事象としては、中間テーブルにn個カラムを保存する際に、時々1件だけ保存されない問題です。
コード
php
1<?php 2 3~略~ 4 5 6 7class Test 8{ 9 public function __invoke(Request $request) 10 { 11 return DB::transaction(function () use ($request) { 12 $a = TestClass::findOrFail($request->id); 13 14 $reports = $a->latestBooks->first()->reports()->get(); 15 $count = 0; 16 foreach ($reports as $report) { 17 $train= new Train; 18 $train->memo = ""; 19 $train->save(); 20 21 $train->reports()->attach([$report->id]); 22 $count++; 23 } 24 }); 25 26 } 27} 28
最初の1件目、5件目など、毎回同じ箇所が保存されていなければわかるのですが、n回目が保存されない状況なので、困っています。
原因として foreach内
でattach
しているから起きている可能性くらいしかコードを見て問題がある箇所が思いつきませんでした。
同じような現象で解決した方などいたら教えていただけたら幸いです。
回答1件
あなたの回答
tips
プレビュー