флажок массив, восстанавливающий старые значения отмечен - PullRequest
0 голосов
/ 17 июня 2020

Я хотел бы получить старые значения в моей форме добавления и в то же время восстановить данные на странице редактирования, ранее сохраненные в базе данных.

вот мой код:

<div class="row checkbox-offres">
      <legend class="fieldset-label">Skills&nbsp;:</legend>
      @foreach ($skills as $skill)
      <div class="form-group-lg col-lg-6">
        <label>
          <input class="form-check-input @error('skills') is-invalid @enderror" type="checkbox"
            name="skills[]" value='{{$skill->id}}' @foreach($demande->skills as $skill_chosen)
          {{ (is_array(old('skills')) && in_array($skill->id, old('skills'))) ? 'checked' : '' }}
          @endforeach
          > {{$skill->name}}</label>
      </div>
      @endforeach
      @error('skills')
      <div class="invalid-feedback d-block">
        {{$errors->first('skills')}}
      </div>
      @enderror
    </div>

этот код не восстанавливает старые значения в форме добавления и не восстанавливает данные, хранящиеся в базе данных. но восстановить старый в идентификаторе редактирования, кто-то ошибся с полем, это странно.

 {{ $skill_chosen->id == $skill->id ? 'checked' : '' }}

он получает базу данных формы данных, но я не знаю, как поместить это в условие.

путь: Деманда и Студент = имеет много, а Навыки = многие ко многим. 3 таблицы находятся в классическом c соотношении

1 Ответ

0 голосов
/ 17 июня 2020

Вы должны попробовать это.

{{ is_array(old('skills')) ? (in_array($skill->id, old('skills')) ? 'checked': '') : ($skill_chosen->id == $skill->id ? 'checked' : '') }}

...