循环中每个项目的不同类别(Laravel)

时间:2014-12-26 09:15:28

标签: php for-loop laravel foreach

目前我有

@foreach (array_chunk($posts->all(), 3) as $row)
    <div class="row">
        @foreach ($row as $post)  
            <div class="col-md-4">
                <h1>$post->title</h1>
                <p>
                    {{ Str::limit($post->body, 50, link_to_route('posts.show', ' ...', $post->id)) }}
                </p>
            </div>  
        @endforeach
    </div>
    <div class="clearfix"></div>
@endforeach

每个项目现在都有col-md-4,但我想做的是下面的事情

@foreach (array_chunk($posts->all(), 3) as $row)
    @for ($i = 0; $i < count($row); $i++)
        <div class="row">
            <div class="col-md-4">
                <h1>{{ $row[$i]->title }}</h1>
                <p>
                    {{ Str::limit($row[$i]->body, 50, link_to_route('posts.show', ' .....', $row[$i]->id)) }}
                </p>
            </div>
            <div class="col-md-3">
                <h1>{{ $row[$i]->title }}</h1>
                <p>
                    {{ Str::limit($row[$i]->body, 50, link_to_route('posts.show', ' .....', $row[$i]->id)) }}
                </p>
            </div>
            <div class="col-md-5">
                <h1>{{ $row[$i]->title }}</h1>
                <p>
                    {{ Str::limit($row[$i]->body, 50, link_to_route('posts.show', ' .....', $row[$i]->id)) }}
                </p>
            </div>
        </div>
        <div class="clearfix"></div>
    @endfor
@endforeach

现在每个项目都有我想要的课程但不幸的是,每个项目都会重复3次,如此

enter image description here

,有没有重复实现上述目标。

3 个答案:

答案 0 :(得分:1)

因此,您始终希望该行位于3列中,其中md-4md-3md-5列宽按此顺序排列?

@foreach (array_chunk($posts->all(), 3) as $row)
    <div class="row">
        <?php $i = 0; ?>
        @foreach ($row as $post)  
            <?php if ($i===0) echo '<div class="col-md-4">'; ?>
            <?php if ($i===1) echo '<div class="col-md-3">'; ?>
            <?php if ($i===2) echo '<div class="col-md-5">'; ?>
                <h1>$post->title</h1>
                <p>
                    {{ Str::limit($post->body, 50,
                    link_to_route('posts.show', ' ...', $post->id))
                    }}
                </p>
            </div>  
            <php $i++;?>
        @endforeach
    </div>
    <div class="clearfix"></div>
@endforeach

答案 1 :(得分:0)

获取当前代码,在行<div class="col-md-4">中添加条件,并根据帖子的数量向div添加不同的类。你需要例子吗?

答案 2 :(得分:0)

如果有超过3个帖子,并且您想要此特定订单:

@foreach (array_chunk($posts->all(), 3) as $row)
    <div class="row">
        @foreach ($row as $post)  
            @if (i%3 == 0)
                <div class="col-md-4">
            @elseif (i%3 == 1)
                <div class="col-md-3">
            @elseif (i%3 == 2)
                <div class="col-md-5">
            @endif
                <h1>$post->title</h1>
                <p>
                    {{ Str::limit($post->body, 50, link_to_route('posts.show', '...', $post->id)) }}
                </p>
            </div>  
        @endforeach
    </div>
    <div class="clearfix"></div>
@endforeach