Циклический просмотр массива через foreach для отображения некоторых данных и использование одного и того же массива для отображения одного вывода - PullRequest
0 голосов
/ 18 октября 2019

Я отправляю блейду следующий вывод из запроса, который имеет 5 строк. В каждой строке есть вопрос и ответ, где вопрос одинаков в 5 строках, а ответ в каждой строке разный. Я хочу показать вопрос только один раз, а под ним 5 ответов. Я отправляю массив, как показано ниже:

array:2 [▼
  0 => {#338 ▼
    +"id": 25
    +"created_at": "2019-10-18 11:13:17"
    +"updated_at": "2019-10-18 11:13:17"
    +"title": "question"
    +"body": """
       \r\n
         aasasas
      """
    +"ttype": 0
    +"cat": 0
    +"a_id": 25
    +"tag": ""
    +"appr": 0
    +"user_id": 6
    +"comment_id": 0
    +"parent_id": null
    +"ppoints": null
    +"status": 0
    +"arank": 1
    +"qatype": 1
    +"country": "Egypt"
    +"wwide": 0
  }

Ниже приведен вопрос один раз и ответ более одного раза на этот вопрос. Конечно, этот код выдает ошибку Trying to get property of non-object, потому что он также ожидает foreach для этого вопроса.

@if(!empty($updt_11))

<p class="collapsible"> {{$updt_11->title}} </p> // this is the question

@foreach($updt_11 as $updt_11_a)   
<div class= "content">
<p>{{$updt_11_a->body}} </p>   //This is the answer
</div>
@endforeach
@endif

Как я могу поставить вопрос один раз и ответ несколько раз, используя один и тот же массив?

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

Я думаю, у вас есть массив в массив, поэтому вам нужно выполнить два раза foreach().

@if(!empty($updt_11))

    <p class="collapsible"> {{$updt_11[0]->title}} </p> // this is the question

    @foreach($updt_11 as $updt_11_a)
        @foreach($updt_11_a as $updt_11_b)  // Assume array into array.
            <div class= "content">
               <p>{{$updt_11_b->body}} </p>   //This is the answer
            </div>
        @endforeach
    @endforeach
@endif

Спасибо ..

0 голосов
/ 18 октября 2019

Во-первых, если вы можете изменить массив из бэкэнда и добавить к нему один раз ответ в подмассиве, чем это легко для вас.

, если вы хотите использовать тот же массив, который вы передали, тогдаdo

Пункт 1. используйте index из 0, чтобы отобразить вопрос

Пункт 2. Как вы уже использовали, используйте foreach, чтобы отобразить ответы

@if(!empty($updt_11))

<p class="collapsible"> {{$updt_11[0]->title}} </p> // this is the question

@foreach($updt_11 as $updt_11_a)   
<div class= "content">
<p>{{$updt_11_a->body}} </p>   //This is the answer
</div>
@endforeach
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...