前提・実現したいこと
初めてteratailを利用させてもらいます。プログラミング初心者です。
現場に入るまでの期間で作成をお願いされていますが、ほぼ未経験であり
周りに現在エンジニアがおらず質問できる場がないため利用させていただきます。
現在laravelで社内勤怠システムの作成をしています。
そこでforeachで回したinput要素を送信してDBに登録
したいと思っております。色々試しましたがエラー吐いてしまうので
どなたか知恵をお貸しくださるととても助かります。ちゃんと質問の意図を
伝えられてるかわかりませんがよろしくお願い致します><
発生している問題・エラーメッセージ
Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, null given, called in /Users/projects/management/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php on line 869
該当のソースコード
html
1<form action="{{ url('/create/store')}}" method="POST"> 2 3 <table class="management"> 4 5 <tr> 6 <th class='none'></th> 7 <th colspan="6" style="text-align:center">平日</th> 8 <th colspan="2" style="text-align:center">休日</th> 9 <th colspan="6" style="text-align:center">チェックボックス</th> 10 </tr> 11 <tr> 12 <th>日付</th> 13 <!-- <th>曜日</th> --> 14 <th>始業時刻</th> 15 <th>終業時刻</th> 16 <th>休憩時間</th> 17 <th>実働時間</th> 18 <th>うち8h越え</th> 19 <th>うち深夜</th> 20 <th>休日</th> 21 <th>休日深夜</th> 22 <th>休暇</th> 23 <th>欠勤</th> 24 <th>遅刻</th> 25 <th>早退</th> 26 <th>休出</th> 27 <th>振休</th> 28 </tr> 29 30 @csrf 31 @foreach($day as $days) 32 <tr> 33 <td>{{$days->day}}</td> 34 <td><input type="time" step="900" name="opening_time[]"></td> 35 <td><input type="time" step="900" name="ending_time[]"></td> 36 <td><input type="time" step="900" name="break_time[]"></td> 37 <td><input type="time" step="900" name="total_time[]"></td> 38 <td><input type="time" step="900" name="over_time[]"></td> 39 <td><input type="time" step="900" name="night_time[]"></td> 40 <td><input type="time" step="900" name="holiday_time[]"></td> 41 <td><input type="time" step="900" name="holiday_night[]"></td> 42 <td><input type="checkbox" name="holiday[]" value="1"></td> 43 <td><input type="checkbox" name="adsence[]" value="1"></td> 44 <td><input type="checkbox" name="late[]" value="1"></td> 45 <td><input type="checkbox" name="leave_early[]" value="1"></td> 46 <td><input type="checkbox" name="holiday_work[]" value="1"></td> 47 <td><input type="checkbox" name="makeup_holiday[]" value="1"></td> 48 </tr> 49 @endforeach 50 51 </table> 52 53 <input type="text" name="project"> 54 <textarea name="memo"></textarea> 55 56 <td><input type="submit" value="送信"></td> 57 <td><input type="reset" value="リセット"></td> 58 59 </form>
該当のソースコード
php
1public function store(Request $request){ 2 3 $management = Management::create([ 4 5 'opening_time' => $request->input('opening_time'), 6 'ending_time' => $request->input('ending_time'), 7 'break_time' => $request->input('break_time'), 8 'total_time' => $request->input('total_time'), 9 'over_time' => $request->input('over_time'), 10 'night_time' => $request->input('night_time'), 11 'holiday_time' => $request->input('holiday_time'), 12 'holiday_night' => $request->input('holiday_night'), 13 'holiday' => $request->input('holiday'), 14 'adsence' => $request->input('adsence'), 15 'late' => $request->input('late'), 16 'leave_early' => $request->input('leave_early'), 17 'holiday_work' => $request->input('holiday_work'), 18 'makeup_holiday' => $request->input('makeup_holiday')]); 19 20 return redirect('/'); 21 }
###試したコード
php
1public function store(Request $request){ 2 3 foreach($request as $value){ 4 5 Management::create([ 6 7 'opening_time' => $value->name, 8 'ending_time' => $value->name, 9 'break_time' => $value->name, 10 'total_time' => $value->name, 11 'over_time' => $value->name, 12 'night_time' => $value->name, 13 'holiday_time' => $value->name, 14 'holiday_night' => $value->name, 15 'holiday' => $value->name, 16 'adsence' => $value->name, 17 'late' => $value->name, 18 'leave_early' => $value->name, 19 'holiday_work' => $value->name, 20 'makeup_holiday' => $value->name]); 21 22 } 23 return redirect('/'); 24 } 25 26こちらも' 27未定義のプロパティ:Symfony \ Component \ HttpFoundation \ ParameterBag :: $ nameとエラーでした。
補足情報
php 7.1.23 ,laravel 5.8.19
質問の意図がわからないや、もう少し詳しい情報が欲しいなどありましたら遠慮なくおっしゃってくれると助かります。
###解決しました
初学者なため綺麗とは言えないかもしれませんが...
php
1public function store(Request $request){ 2 3 foreach($request->input( 4 'opening_time','ending_time', 5 'break_time','total_time','over_time', 6 'night_time','holiday_time','holiday_night', 7 'holiday','adsence','late','leave_early', 8 'holiday_work','makeup_holiday') as $key => $value){ 9 10 Management::create([ 11 12 'opening_time' => $request->input('opening_time')[$key], 13 'ending_time' => $request->input('ending_time')[$key], 14 'break_time' => $request->input('break_time')[$key], 15 'total_time' => $request->input('total_time')[$key], 16 'over_time' => $request->input('over_time')[$key], 17 'night_time' => $request->input('night_time')[$key], 18 'holiday_time' => $request->input('holiday_time')[$key], 19 'holiday_night' => $request->input('holiday_night')[$key], 20 'holiday' => $request->input('holiday')[$key], 21 'adsence' => $request->input('adsence')[$key], 22 'late' => $request->input('late')[$key], 23 'leave_early' => $request->input('leave_early')[$key], 24 'holiday_work' => $request->input('holiday_work')[$key], 25 'makeup_holiday' => $request->input('makeup_holiday')[$key]]);} 26 27 return redirect('/'); 28 }
回答3件
あなたの回答
tips
プレビュー