【Laravel】old이기 십상인 실수! old()를 사용하여 select, option 태그의 값을 유지하고 싶습니다!

안녕하세요. 이번에는 Larvel에서 old() 함수를 사용하여 select, option 태그의 값을 유지하는 방법을 소개합니다. 버전은 5.8입니다.

old() 함수는, 직전의 데이터를 취득하는 편리한 메소드입니다.

공식 문서↓
h tps : // 레아도 bぇ. 이 m/ぁらゔぇl/5.8/쟈/레쿠에 sts. HTML
<input type="text" name="username" value="{{ old('username') }}">

old('POST된 이름')에서 사용할 수 있습니다.

old()를 사용하여 select, option 태그의 값을 유지하고 싶습니다!


<select name="category_id">
  <option value="">選択されていません</option>
  <option type="text" value="1" @if(1 === (int)old('category_id')) selected @endif >PHP</option>
  <option type="text" value="2" @if(2 === (int)old('category_id')) selected @endif >Ryby</option>
</select>

option 태그 안에
@if(値 === (int)old('category_id') selected @endif

가 보유한 값만 선택하면 유지한 값을 반영할 수 있습니다.

왜 여기서 old() 함수 앞에 (int) 를 붙이고 있을까 하면 old()関数が返す値は、自動的にString型 이 되어 있기 때문입니다. 만약, (int) 를 붙이고 싶지 않다면, ===== 로 해, 형태를 지정하지 않는 방법으로 하면 됩니다.

DB에 등록한 데이터를 표시하고 싶습니다.



방금 소개한 내용의 old() 함수의 제 2 인수에 값을 넣어 주면, 디폴트로 지정한 값으로 해 줍니다.
이렇게 함으로써 초기 화면은 DB로부터 취득한 데이터가 선택되어 변경했을 때, 제1 인수로 지정한 값으로 해 줍니다.
@if(値 === (int)old('category_id', $old_category)) selected @endif

Laravel은 편리하네요.
이번에 소개한 old() 함수는, String형으로 돌려주므로, old() 함수를 사용했는데, 선택되어 있지 않다고 하는 사람도 있었던 것이 아닐까요. 나도, 그 혼자였지만, 원인 조사를 잘 할 수 있게 되어 갑시다

좋은 웹페이지 즐겨찾기