CRUDの流れを作っている際に、以下の件でハマりました。
入力 → 確認 → 完了 という流れで
確認から入力に戻った際、input type="text"の場合は「{{ old('ClientName') }}」でデータを保持しておけると思いますが
input type="checkbox"の場合、どのようにしてデータを保持するのか教えて頂きたいです。
現在、以下のようにコーディングしています。
■controllerファイル
php
1 //追加ページ 2 public function create() { 3 $month = Client::$month; 4 return view('client.create', compact('month')); 5 } 6 //追加の確認 7 public function confirm(ClientRequest $request) { 8 $data = $request->all(); 9 if (isset($request->month)) { 10 $data['month'] = implode(', ',$request->month); 11 } 12 return view('client.confirm')->with($data); 13 } 14 15 //追加の処理 16 public function store(ClientRequest $request) { 17 $action = $request->get('action');// name=action の value名を取得 18 $input = $request->except('action');// 入力内容を取得 19 20 if ($action === "確定") { 21 $clients = new Client(); 22 $clients->name = $request->ClientName; 23 $clients->month = $request->ClientMonth; 24 $clients->body = $request->ClientBody; 25 $clients->save(); 26 return redirect('/client/list'); 27 } else { 28 return redirect('/client/create')->withInput($input); 29 } 30 31 }
■viewファイル(入力画面)
php
1<form class="" action="{{ url('/client/confirm') }}" method="post"> 2 {{ csrf_field() }} 3 4 <p> 5 <input type="text" name="ClientName" placeholder="名前" value="{{ old('ClientName') }}"> 6 @if($errors->has('ClientName')) 7 <span class="error">{{ $errors->first('ClientName') }}</span> 8 @endif 9 </p> 10 11 <p> 12 @foreach($month as $key => $value) 13 <label class="checkbox-inline"> 14 {!! Form::checkbox('month[]', $value) !!} 15 {{ $value }} 16 </label> 17 @endforeach 18 </p> 19 20 <p> 21 <textarea name="ClientBody" rows="8" cols="80" placeholder="本文">{{ old('ClientBody') }}</textarea> 22 @if($errors->has('ClientBody')) 23 <span class="error">{{ $errors->first('ClientBody') }}</span> 24 @endif 25 </p> 26 27 <input type="submit" value="登録"> 28</form>
■viewファイル(確認画面)
php
1<form class="" action="{{ url('/client') }}" method="post"> 2 3 <input type="hidden" name="ClientName" value="{{ $ClientName }}"> 4 <input type="hidden" name="ClientMonth" value="{{ $month }}"> 5 <input type="hidden" name="ClientBody" value="{{ $ClientBody }}"> 6 {{ csrf_field() }} 7 8 この内容で登録します。 9 10 <ul> 11 <li>{{ $ClientName }}</li> 12 <li>{{ $month }}</li> 13 <li>{!! nl2br(e($ClientBody)) !!}</li> 14 </ul> 15 16 <input type="submit" name="action" value="戻る"> 17 <input type="submit" name="action" value="確定"> 18 19</form>

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/24 04:05
2019/01/24 04:28
2019/01/24 04:38
2019/01/24 04:42
2019/01/24 05:12
2019/01/24 05:59
2019/01/24 06:33
2019/01/24 10:35