私はLaravelを初めて利用しています。私は電子商取引アプリケーションで作業しています。このアプリでは、別のページ(1、2、3、...など)にすべての製品を表示する必要があります。ルートは/ products/1、/ products/2などです。現在、ページあたり10個の製品を表示するパターンを使用しています。Laravelのルートパラメータに基づいてコンテンツ(HTML)を表示する方法5.4
たとえば、31の製品がある場合、4ページ(ページの下部に4つのボタン)が表示されます。
第1ページ - > 10製品;
第2ページ - > 10製品;
3ページ目→10製品;
第4ページ - > 1製品;
私の質問はデータベース内でどのように反復し、これらの製品をそれぞれのルートに分散させるかです。私は(ブレードを使用して)これまで行ってきた:
@extends("template")
@section("content")
@for($i = 0; $i < $number_of_buttons; $i++) <!-- iterate trough the number of buttons -->
@for($k = 0; $k < $NUMBER_OF_PRODUCTS_PER_PAGE; $k++) <!-- iterate trough all the products, but showing only a quantity of {{$NUMBER_OF_PRODUCTS_PER_PAGE}} products per page -->
<div class="row">
\t <div class="col-xs-6">
\t <img src="{{$products[$k]->image}}" class = "img-responsive" alt = "{{$products[$k]->name}}">
\t </div>
\t <div class="col-xs-6">
\t <h2>{{$products[$k]->name}}</h2>
\t <p>{{$products[$k]->description}} </p>
<p>{{$products[$k]->value}} </p>
<a href="/details/{{$products[$k]->id}}" class="btn btn-default">Details</a>
\t </div>
</div>
@endfor
@endfor
@stop
ロジック自体はちょっと間違っているようだが、どのように私は、各ルートの製品に挿入するのですか?上記の例では、すべてのルートに同じ数の製品があります。可能であれば、どのように各ルートを受け取るのか、このコードでどのように具体化するのかを知りたい。私が十分に明確でない場合は、私に知らせてください。
あなたは[改ページ](https://laravel.com/docs/5.4/paginationについて尋ねています)? – Ohgodwhy
@Ohgodwhy私はそれが私が必要としていると思う。私はそれを見て、それが私の問題に答えるかどうかを見ます。ありがとう。 – Diego
これを見てください。 https://laravel.com/docs/5.4/pagination私はあなたがこれを考えすぎていると思います。 Products :: get()の代わりにProducts :: paginate(10)をコントローラに入れ、次にブレードの一番下にある{{$ products-> links()}}自動的にページを区切ります。 – Scott