suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So greifen Sie in Laravel auf Array-Elemente in der foreach-Schleife zu

Ich habe ein benutzerdefiniertes Array zum Speichern von Fragen und Antworten erstellt, aber wenn ich versuche, auf diese Array-Elemente zuzugreifen, wird mir 尝试读取数组上的属性“问题”(

angezeigt

Eigentlich habe ich ein benutzerdefiniertes Array erstellt. Wenn ich versuche, ohne benutzerdefiniertes Array zu erstellen, funktioniert es einwandfrei. Als ob das Abrufen von Daten aus einem direkten eloquenten Modell großartig funktioniert

Dies ist meine JSON-Antwort...

@foreach ($questionsArray as $i => $data)
                              <div class=" p-3 m-1 text-left">
                                <p class="font-weight-bold">Q.{{$i + 1}} {{$data->question}}</p>
                              // error is here !
                              
                              @endforeach
$questionsArray = array();

        foreach ($questions as $question) {

            $answers = tbl_answer::where('answer_question_table_id', $question->question_id)->get();
            $questionsArray[] = array(
                "question" => array($question),
                "answers"  => array($answers)
            );
        }

P粉312195700P粉312195700443 Tage vor567

Antworte allen(1)Ich werde antworten

  • P粉004287665

    P粉0042876652023-09-11 12:16:13

    关联数组和对象在 php 中不是一回事。

    在这里,您正在将带有键 questionanswers 的数组推送到 questionsArray 中:

    $questionsArray[] = array(
                    "question" => array($question),
                    "answers"  => array($answers)
                );

    所以你应该使用数组访问来读取它。假设 $data$questionsArray 的元素,您将拥有 {{ $data['question'] }} 而不是 { { $data->问题 }}

    当然,您已将一些问题实体或关联数组包装在另一个数组中,并将其放入 $data['question]` 中,因此打印输出将不起作用。

    也许尝试这样的事情:

    $questionsArray[] = [
                    "question" => $question,
                    "answers"  => $answers
                ];

    然后在刀片文件中读取问题的属性:

    @foreach ($questionsArray as $i => $data)
    
        <div class=" p-3 m-1 text-left">
        <p class="font-weight-bold">Q.{{$i + 1}} {{$data['question']['question_title']}}</p>
                                  
    @endforeach

    Antwort
    0
  • StornierenAntwort