Laravel 5.1 - 嵌套环 - 刀片模板 [英] Laravel 5.1 - Nested Loop - Blade Templating

查看:176
本文介绍了Laravel 5.1 - 嵌套环 - 刀片模板的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

View

  .. 
...
< div class =section group>
@foreach($ product as $ item)
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#> {!! $ item-> name !!}< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ {!! $ item-> price !!}< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
@endforeach
< / div>
...

这个控制器

  .. 
...
public function index(){
$ product = product :: paginate(8);
return view('shop.index',compact('product'));
}
...
..

我想显示给八个数据我将控制器设置为两部分,所以输出将如下所示:

 < div class =section group> 
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目01< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 01< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目02< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 02< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目03< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 03< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目04< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 04< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< / div>

< div class =section group>
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目05< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 05< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目06< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 06< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目07< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 07< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#>项目08< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ price 08< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
< / div>

我认为它应该使用嵌套循环,但我不知道如何在laravel中编写它。 / p>

任何人有任何想法应该如何?

解决方案

http://laravel.com/api/5.1/Illuminate/Database/Eloquent /Collection.html#method_chunk



我喜欢chunk()函数。比array_chunk更具可读性和可重用性

$ p $ c $ @foreach($ product-> chunk(4)as $ chunkedProducts)
< div class =section group>
@foreach($ chunkedProducts as $ item)
< div class =grid_1_of_4 images_1_of_4>
< h4>< a href =#> {!! $ item-> name !!}< / a>< / h4>
< div class =price-details>
< div class =price-number>
< p>< span class =price> $ {!! $ item-> price !!}< / span>< / p>
< / div>
< div class =add-cart>
< h4>< a href =#>更多资讯< / a>< / h4>
< / div>
< div class =clear>< / div>
< / div>
< / div>
@endforeach
< / div>
@endforeach


I have this on View:

..
...
<div class="section group">
    @foreach ($product as $item)
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">{!! $item->name !!}</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ {!! $item->price !!} </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>         
    @endforeach
</div>
...
..

And this on Controller:

..
...
public function index(){
    $product = product::paginate(8);
    return view('shop.index', compact('product'));
}
...
..

I want to show to the eight data I set the controller into two parts, so the output will be like this:

<div class="section group">
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 01</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 01 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 02</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 02 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 03</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 03 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 04</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 04 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
</div>

<div class="section group">
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 05</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 05 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 06</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 06 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 07</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 07 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
    <div class="grid_1_of_4 images_1_of_4">
        <h4><a href="#">item 08</a></h4>
        <div class="price-details">
            <div class="price-number">
                <p><span class="price">$ price 08 </span></p>
            </div>
            <div class="add-cart">                              
                <h4><a href="#">More Info</a></h4>
            </div>
            <div class="clear"></div>
        </div>                           
    </div>
</div>

I think it should use nested loop, but i have no idea how to write it in laravel.

Anyone have any idea how it should be?

解决方案

http://laravel.com/api/5.1/Illuminate/Database/Eloquent/Collection.html#method_chunk

I like chunk() function. More readable and reuseable than array_chunk

@foreach ($product->chunk(4) as $chunkedProducts)
<div class="section group">
@foreach ($chunkedProducts as $item)
<div class="grid_1_of_4 images_1_of_4">
    <h4><a href="#">{!! $item->name !!}</a></h4>
    <div class="price-details">
        <div class="price-number">
            <p><span class="price">$ {!! $item->price !!} </span></p>
        </div>
        <div class="add-cart">                              
            <h4><a href="#">More Info</a></h4>
        </div>
        <div class="clear"></div>
    </div>                           
</div>         
@endforeach
</div>
@endforeach

这篇关于Laravel 5.1 - 嵌套环 - 刀片模板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆