Получение идентификаторов для отношения hasMany из формы Laravel 5.6 в контроллер - PullRequest
0 голосов
/ 25 июня 2018

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

Вот мой код бланка представления формы:

@php $i=0; @endphp
    @foreach($question->answers as $answer)
    @php $i++; @endphp
    <div class="form-group">
        <div class="col-lg-8">
        {!!Form::label('Answeroption'.$i, 'Answeroption'.$i)!!}
        {!! Form::text('answeropt'.$i,$answer->answeropt, ['class'=>'form-control', 'id' => $answer->id]) !!}
        </div>
    </div>
@endforeach

Я хочу получить это 'id' => $ answer-> id в QuestionController, метод Edit.,Этот фрагмент кода находится в форме редактирования вопроса с 4 вариантами ответа.Каждый ответ хранится в таблице ответов с разными идентификаторами, связанными с основным идентификатором вопроса.Я хочу получить этот answerid, чтобы я мог сохранить отредактированные ответы.

Я пытался выполнить getIdAttribute, но он не работает.

Вот снимок экрана с тем, как выглядит мой экран.У каждого варианта есть запись в таблице ответов, с которой вопрос_id связан как отношение HasMany.

Снимок экрана формы редактирования вопроса

enter image description here

1 Ответ

0 голосов
/ 25 июня 2018

Вам лучше использовать массив в вашей разметке. Тогда у вас будут идентификаторы для ссылки на пост. Так что это может выглядеть примерно так:

{!! Form::text('answeropt['. $answer->id . ']',$answer->answeropt, ['class'=>'form-control', 'id' => $answer->id]) !!}

Затем в вашем контроллере вы можете перебрать массив и использовать идентификатор. Так что это может выглядеть примерно так:

foreach($request->get('answeropt', []) as $answerId => $answer) {
    // do things with the answer id and the answer text
}

Я думаю, это то, что вы ищете? Пожалуйста, дайте мне знать, если это понятно, или если вы имели в виду что-то еще.

...