gleber1
@gleber1

Blade в laravel не умеет работать с рекурсией?

@if (Form::closureTags($item))
    @if(isset($item['closureTag']))
        @include('tags-closure.widgets.edit-form', $item['closureTag']))
    @endif
@else
    @foreach($item as $el)
        @include('tags-closure.widgets.edit-form', $el)
    @endforeach
@endif

Находимся на tags-closure.widgets.edit-form'
Начальное дерево
array:8 [▼
  "id" => 247
  "name" => "saddsd"
  "parent_id" => null
  "description" => "Adasd"
  "weight" => 1.0
  "is_sealed" => 0
  "closure" => array:4 [▶]
  "closureTag" => array:1 [▼
    0 => & array:8 [▼
      "id" => 248
      "name" => "dsadsa"
      "parent_id" => 247
      "description" => "dsadsd"
      "weight" => 1.0
      "is_sealed" => 0
      "closure" => array:4 [▶]
      "closureTag" => array:1 [▼

и так далее.
Просто падает процесс и все , а по коду так же работает(при записи в бд)
  • Вопрос задан
  • 580 просмотров
Решения вопроса 2
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Может быть бесконечность получилась? Поэтому и падает?
Ответ написан
miraage
@miraage
Старый прогер
@include('tags-closure.widgets.edit-form', ['item' => $item['closureTag']]))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AmdY
@AmdY
PHP и прочие вебштучки
Вы при инклуде в скоуп бросаете содержимое элементов, а не переопределяете его. Соотвественно он работает всё с тем же $item и впадает в бесконечную рекурсию.
нужно
@include('tags-closure.widgets.edit-form', ['item' => $item['closureTag']]))
@include('tags-closure.widgets.edit-form', ['item' => $el])
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы