Laravel 5.8 в блейде в директивах @php не видит переменную из @foreach - PullRequest
1 голос
/ 05 июня 2019

У меня проблема с моим кодом.Я посылаю от контроллера к массиву блейдов с переменными.После того, как я помещаю массив в цикл foreach и пытаюсь поместить переменную из этого массива в другой массив (я делаю это в директивах @php) $ val ['id_proces'] не определено.

    @foreach($risk as $ri)
        @foreach($tabela as $tab => $val)
            @if($ri->id_risk === $val['id_risk'])
                 @php
                   array_push($tab1, $val['id_proces']); // not see $val
                 @endphp
                @else
                 @php
                   $tab1 = array();
                 @endphp
                @endif
            @endforeach

Я пыталсясделайте это так

{{array_push($tab1, $val['id_proces'])}}

Но он печатает все.

1 Ответ

1 голос
/ 05 июня 2019

Решение выглядит следующим образом:

 @php $tab1 = []; @endphp

  @foreach($risk as $ri)

    @foreach($tabela as $tab => $val)

      @if($ri->id_risk === $val['id_risk'])

          @php array_push($tab1, $val['id_proces']); // not see $val  @endphp


        @else

     @php $tab1 = array(); @endphp

    @endif

@endforeach

@endforeach

Значения массива указаны ниже

@foreach($tab1 as $tabVal)

 {{ $tabVal }}

@endforeach

Вы не можете распечатать массив с помощью {{}}.Для отображения массива вам нужно установить цикл следующим образом: используйте

{{ dd($tab1) }} 

для отладки полного массива

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...