2016-05-24 2 views
1

Я использую директиву @each для прокрутки массива результатов запроса и визуализации их (в этом случае директива @each имеет тенденцию быть немного лучшей идеей, чем foreach цикл с HTML, который будет визуализировать изменения в зависимости от результата запроса). Все это работает отлично, но у меня есть проблема с попыткой получить текущий индекс самого запроса.Laravel - @each получить текущую итерацию

Другими словами, используя директиву @each, мне нужно иметь доступ к ключу (или индексу) текущего цикла в частичном рендеринге.

Если у вас есть все, что вам нужно знать, просто спросите.

Благодарим за понимание!

ответ

3

Глядя на исходный код, который для запуска @each директивы дает следующее:

Осветите \ Вид \ Factory.php

/** 
* Get the rendered contents of a partial from a loop. 
* 
* @param string $view 
* @param array $data 
* @param string $iterator 
* @param string $empty 
* @return string 
*/ 
public function renderEach($view, $data, $iterator, $empty = 'raw|') 
{ 
    $result = ''; 

    // If is actually data in the array, we will loop through the data and append 
    // an instance of the partial view to the final result HTML passing in the 
    // iterated value of this data array, allowing the views to access them. 
    if (count($data) > 0) { 
     foreach ($data as $key => $value) { 
      $data = ['key' => $key, $iterator => $value]; 

      $result .= $this->make($view, $data)->render(); 
     } 
    } 

    // If there is no data in the array, we will render the contents of the empty 
    // view. Alternatively, the "empty view" could be a raw string that begins 
    // with "raw|" for convenience and to let this know that it is a string. 
    else { 
     if (Str::startsWith($empty, 'raw|')) { 
      $result = substr($empty, 4); 
     } else { 
      $result = $this->make($empty)->render(); 
     } 
    } 

    return $result; 
} 

Если вы заметили на этих линиях:

$data = ['key' => $key, $iterator => $value]; 

$result .= $this->make($view, $data)->render(); 

Переменная, называемая $key, автоматически передается в визуализированное представление. Это должно содержать текущий индекс вашего цикла массива.

+0

Благодарим за помощь. – mattrick

Смежные вопросы