Не отображать значения массива в блейде laravel - отображается как неопределенный индекс - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть список массива, массив содержит некоторые данные, которые мне нужно отобразить в файле laravel blade.

 @foreach ($taskDetail as $taskRow)
                    <tr>
                        <th>{{ $taskRow['taskName'] }}</th>
                        <th>Total : {{ $taskRow['takenHours'] }} </th>
                    </tr>
                          @if (count($taskRow['php'])>0)    
                            <tr>
                                <th>PHP Team</th>
                                <th>Hours</th>
                            </tr>
                            @foreach ($taskRow['php'] as $row)

                                <tr>
                                    <td> {{ $row['firstName'] }}</td>
                                    <td> {{ $row['taskTakenHours'] }}</td>
                                </tr>
                            @endforeach  
                                <tr>
                                    <th>Total</th>
                                    <th>{{ $row[count($taskRow['php'])-1]['totalHours'] }}</th>
                                </tr>
                            @endif

                @endforeach

Во втором выражении foreach я получаю сообщение об ошибке ниже.

Undefined index: firstName (View: C:\\Azure Files\\PM Tools\\BPMT_API\\resources\\views\\report-teamwise.blade.php

При выводе значений dd ($ row) отображается, как показано ниже

array:12 [
  "eachTasktakenHr" => "24:56:00"
  "id" => 61
  "userId" => 5
  "taskTakenHours" => "05:00"
  "hours" => "5"
  "minutes" => "0"
  "dateOfEntry" => "2019-12-24"
  "taskStartDate" => "24.12.2019"
  "firstName" => "Deepak"
  "lastName" => "Kotian"
  "taskName" => "Meeting /Discussion"
  "deptName" => "PHP"
]

1 Ответ

2 голосов
/ 02 апреля 2020

У вас может быть одна строка, где firstName равно нулю. Попробуйте это:

Нулевой оператор Coalesce


{{ $row['firstName'] ?? '' }}

или

троичный

{{ isset($row['firstName']) ? $row['firstName'] : '' }}

Если $ row ['firstName'] не установлено, для него будет задана пустая строка.

...