Когда я начинаю добавлять ответы в опросе, это не сохранение ответов на переключателях и флажках, и выбирается только один вопрос с флажком или переключателем в верхней части формы.
Он сохраняет только один вопрос за раз или несколько раз пустое или ключевое слово «on» против флажка или радио-ответов. Можно выбрать только первый вопрос с флажками или переключателями.
Когда я пытаюсь выбрать ответ на другой вопрос, снова выбираются только первые варианты вопроса, и только они сохраняются в БД. Пожалуйста, проверьте код и файлы и помогите мне.
Когда я пытаюсь сохранить опцию флажка или опции радиокнопки, сохраняется только строка ключевого слова «on». Если это только один вопрос с текстом, опрос выполняется, но в нескольких случаях он не работает с другими вопросами.
Это вид takeurvey.blade
@forelse($survey->questions as $key=>$question)
<p class="flow-text">Question {{$key+1}} - {{$question->title}}</p>
@if($question->question_type==='text')
<div class="input-field col s12">
<input id="answer" type="text" name="{{$question->id}}[answer]">
<label for="answer">Answer </label>
</div>
@elseif($question->question_type==='textarea')
<div class="input-field col s12">
<textarea id="textarea1" class="materialize-textarea" name="{{ $question->id }}[answer]"></textarea>
<label for="textarea1">Textarea</label>
</div>
@elseif($question->question_type==='radio')
@foreach($question->option_name as $key=>$value)
<p style="margin:0px; padding:0px;">
<input name="{{$question->id}}[answer]" type="radio" id="{{ $key }}" />
<label for="{{$key}}">{{$value}}</label>
</p>
@endforeach
@elseif($question->question_type==='checkbox')
@foreach($question->option_name as $key=>$value)
<p style="margin:0px; padding:0px;">
<input type="checkbox" id="something{{$key}}" name="{{$question->id}}[answer]"/>
<label for="something{{$key}}">{{$value}}</label>
</p>
@endforeach
@endif
<div class="divider" style="margin:10px 10px;"></div>
@empty
<span class='flow-text center-align'>Nothing to show</span>
@endforelse
{{Form::submit('Submit Survey',array('class'=>'btn waves-effect waves-light'))}}
{!!Form::close()!!}
</div>
</div>
answercontroller
public function store(Request $request,Survey $survey){
$arr=$request->except('_token');
foreach($arr as $key=>$value){
$newAnswer=new Answer();
if(!is_array($value)){
$newValue=$value['answer'];
}
else{
$newValue=json_encode($value['answer']);
}
$newAnswer->answer=$newValue;
$newAnswer->question_id=$key;
$newAnswer->user_id=Auth::id();
$newAnswer->survey_id=$survey->id;
$newAnswer->save();
$answerArray=$newAnswer;
return redirect()->action('SurveyController@view_survey_answers',[$survey->id]);
}
Задача ещё не решена.
Других решений пока нет …