Einfügen von array-Werten in die Datenbank ein, in laravel

Habe ich 8 verschiedene Fragen, die aus der Datenbank kommen nach dem Zufallsprinzip. Ich will jetzt legen Sie die question_id, user_id und en_answer in en_answers Tabelle. Daten, die eingefügt wurde, aber hier einige Fehler wie die erste ist, es ist das einfügen nur eine Zeile Wert und das zweite ist, die Frage-id ist nicht korrekt.

Ich habe versucht, so etwas wie unten. Würde mir bitte jemand helfen, korrigieren Sie die controller-Methode -

In index.blade.php

<form action="{{ url('en-question-answer') }}" method="POST">
       {{ csrf_field() }}
  <?php 
    $count=1;
  ;?>
  @foreach($equestions as $equestionType)
      @foreach($equestionType as $key => $equestion)
          <p>{{ $equestion->question }}</p>
          <input type="hidden" name="question_id[{{$count}}]" value="{{ $equestion->id }}">
          <label class="radio-inline">
           <input type="radio" name="en_answer[{{$count}}]" value="{{ $equestion->option1 }}">{{ $equestion->option1 }}
          </label>
           <label class="radio-inline">
           <input type="radio" name="en_answer[{{$count}}]" value="{{ $equestion->option2 }}">{{ $equestion->option2 }}
           </label>
             <hr>
    <?php $count++; ?>
       @endforeach
   @endforeach      
  <button type="submit" class="btn btn-primary btn-sm pull-right">Submit</button></form>

In meine controller-

    public function store(Request $request, User $user){
    $user_id = Sentinel::getUser()->id;

    $answer = new EnAnswer;
    $answer->user_id     = $user_id;

    $data = Input::get();
    for($i = 1; $i < count($data['en_answer']); $i++) {
        $answer->en_answer     = $data['en_answer'][$i];
    }
    for($i = 1; $i < count($data['question_id']); $i++) {
        $answer->question_id     = $data['question_id'][$i];
    }

    //dd($answer);
    //return $answer;
    $answer->save();
    return redirect('submitted')->with('status', 'Your answers successfully submitted');

}
  • Ich glaube, Laravel hat das Object::insert(array $array) oder DB::table([name])->insert(array $array)) Methoden zum einfügen von array ' s
InformationsquelleAutor Rashed Hasan | 2018-01-06
Schreibe einen Kommentar