Опишу общий принцип работы с `id` в цикле `@foreach` в Laravel Blade шаблонах. Передача `id` каждого элемента коллекции осуществляется напрямую через переменную цикла. Возможно, вы сталкиваетесь с проблемой, когда, например, в модальном окне или в JavaScript-обработчике всегда используется `id` последнего элемента. Это может произойти из-за неправильного использования id внутри цикла, например, если у вас все модальные окна имеют одинаковый `id`.
Вот пример правильного использования `id` в цикле `@foreach`:
```blade
@foreach($items as $item)
<!-- Выводим название элемента и кнопку для вызова модального окна -->
<div>{{ $item->name }}</div>
<button data-toggle="modal" data-target="#exampleModal-{{ $item->id }}">Открыть</button>
<!-- Модальное окно для каждого элемента -->
<div class="modal fade" id="exampleModal-{{ $item->id }}" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Модальное окно для элемента {{ $item->id }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Закрыть">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<!-- Содержимое модального окна -->
<!-- ... -->
</div>
</div>
</div>
</div>
@endforeach
```
В этом примере для каждого элемента создается свое модальное окно с уникальным `id`, сформированным путем добавления `id` элемента к идентификатору модального окна (например, `exampleModal-1`, `exampleModal-2` и так далее).
Если вы используете JavaScript и передаете `id` с помощью обработчиков событий, убедитесь, что вы присваиваете уникальный идентификатор каждому обработчику или используете замыкания, чтобы правильно захватить значение `id` для каждого элемента:
```html
@foreach($items as $item)
<!-- Предположим, что у нас есть кнопка для выполнения действия с элементом -->
<button onclick="performAction({{ $item->id }})">Действие</button>
@endforeach
<script>
function performAction(itemId) {
console.log('Выполняем действие с элементом: ' + itemId);
// Теперь можно выполнить действие, используя itemId
// ...
}
</script>
```
В этом JavaScript-примере функция `performAction` будет правильно вызываться с `id` соответствующего элемента.