从Laravel 5.6 Form到Controller获取hasMany关系的ID

时间:2018-06-25 14:26:38

标签: php laravel-5.6 laravelcollective

我正在尝试从Laravel编辑表单中获取单个问题的四个答案的ID。

这是我的表单视图刀片代码:

@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

我想在QuestionController的Edit方法中获取此'id'=> $ answer-> id 。这段代码在带有4个答案选项的问题编辑表单中。每个答案都存储在答案表中,其不同的ID链接到主要问题ID。我想获取这个答案ID,以便我可以存储编辑后的答案。

我尝试执行getIdAttribute,但是它不起作用。

这是屏幕外观的屏幕截图。每个选项在答案表中都有一个条目,该表具有与HasMany关系链接的question_id。

“编辑问题表格”的屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:0)

最好在标记中使用数组。然后,您将拥有要在帖子中引用的ID。因此,看起来可能像这样:

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

然后在控制器中,您可以遍历数组并利用ID。所以看起来可能像这样:

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

我认为这就是你的追求?如果这很清楚,或者您有其他意思,请告诉我。