Laravel 5.1 - 嵌套循环 - Blade 模板化
Laravel 5.1 - Nested Loop - Blade Templating
我在 查看:
..
...
<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>
...
..
而这个在 控制器:
..
...
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="#">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>
我想它应该使用嵌套循环,但我不知道如何在laravel中写它。
有谁知道应该怎样做?
This question 正在解决一个非常相似的问题,看看。
引用:
You could use array_chunk on $product->all() to split it in groups of 4, and make a nested @foreach.
在这种情况下,它可能看起来像这样(未测试!):
@foreach (array_chunk($product->all(), 4) as $productSection)
<div class="section group">
@foreach ($productSection 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
http://laravel.com/api/5.1/Illuminate/Database/Eloquent/Collection.html#method_chunk
我喜欢 chunk() 函数。比 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
我在 查看:
..
...
<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>
...
..
而这个在 控制器:
..
...
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="#">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>
我想它应该使用嵌套循环,但我不知道如何在laravel中写它。
有谁知道应该怎样做?
This question 正在解决一个非常相似的问题,看看。
引用:
You could use array_chunk on $product->all() to split it in groups of 4, and make a nested @foreach.
在这种情况下,它可能看起来像这样(未测试!):
@foreach (array_chunk($product->all(), 4) as $productSection)
<div class="section group">
@foreach ($productSection 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
http://laravel.com/api/5.1/Illuminate/Database/Eloquent/Collection.html#method_chunk
我喜欢 chunk() 函数。比 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