@include в @foreach, продолжает использовать первый элемент коллекции - PullRequest
0 голосов
/ 21 января 2019

В представлении я пытаюсь включить такой компонент, как:

@foreach($products as $product)
    <div class="col m4">
        {{$product -> model}}
        @include('components.thumb-product', ['model' => $product -> model])
    </div>
@endforeach

Содержание компонентов. Thumb-product:

@extends('layouts.cards.thumb-product-a')
@section('model')
    {{$model}}
    {{$product -> model}}
@endsection

У меня есть 5 различных элементов в $ products, и на каждой итерации @include ('components.thumb-product') продолжает выводить первый элемент.

Однако в @foreach {{$ product -> model}} (до @include) выводит то, что я ожидаю:

DBTPI0PGC2, OWQE, TDH, 8WFXWRGL, C4M

@ include ('components.thumb-product'), {{$ model}} & {{$ product -> model}} выводит:

DBTPI0PGC2, DBTPI0PGC2, DBTPI0PGC2, DBTPI0PGC2, DBTPI0PGC2

DBTPI0PGC2, DBTPI0PGC2, DBTPI0PGC2, DBTPI0PGC2, DBTPI0PGC2

Я не могу обернуть голову, почему это так, я должен использовать что-то другое, кроме @include? Покажи мне путь, пожалуйста.

1 Ответ

0 голосов
/ 21 января 2019

Попробуйте использовать @overwrite вместо @endsection в ваших компонентах. Thumb-product

@section('model')
    {{$model}}
    {{$product -> model}}
@overwrite
@extends('layouts.cards.thumb-product-a')

У меня была такая же проблема.

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