recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment accéder aux éléments du tableau dans la boucle foreach dans Laravel

J'ai créé un tableau personnalisé pour stocker les questions et réponses, mais chaque fois que j'essaie d'accéder à ces éléments du tableau, cela me donne 尝试读取数组上的属性“问题”(

En fait, j'ai créé un tableau personnalisé. Lorsque j'essaie de créer sans tableau personnalisé, cela fonctionne bien. Comme si obtenir des données à partir d'un modèle éloquent direct fonctionnait très bien

Voici ma réponse JSON...

@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粉312195700430 Il y a quelques jours553

répondre à tous(1)je répondrai

  • P粉004287665

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

    Les tableaux associatifs et les objets ne sont pas la même chose en php.

    Ici, vous insérez la clé questionanswers 的数组推送到 questionsArray avec :

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

    Vous devez donc utiliser l'accès au tableau pour le lire. Hypothèse $data$questionsArray 的元素,您将拥有 {{ $data['question'] }} 而不是 { { $data->问题 }}

    Bien sûr, vous avez enveloppé une entité problématique ou un tableau associatif dans un autre tableau et l'avez placé dans $data['question]` pour que l'impression ne fonctionne pas.

    Essayez peut-être quelque chose comme ceci :

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

    Lisez ensuite les propriétés du problème dans le fichier blade :

    @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

    répondre
    0
  • Annulerrépondre