前提・実現したいこと
Laravelのページネーションで"ページ毎の表示件数"を可変にしたい
↓こちらのようなことではなく、渡した配列の値次第で、ページ分けする件数を判定したいのです。
https://teratail.com/questions/41254
見出し・小見出し・本文のセットで1まとまりです。
下記の参考データ:Arrayのように、1記事の内容は、見出し・小見出し・本文でパーツ分けされてDBに格納されている状況です。
この1まとまりを1ページとして「見出し1から1ページ目」「見出し2から2ページ目」のようにページネーションしたいです。
(小見出しや本文の数は見出しによってバラバラなのが問題です...。)
paginateの引数を変数にしてやってみましたが、全て最初の1まとまりの個数で表示されてしまいます。
解決方法がありましたら、ご教授いただきたいです。
よろしくお願いします。
参考データ
Array
1//"type"=>1 が見出し 2//"type"=>2 が小見出し 3//"type"=>3 が本文 4 5LengthAwarePaginator{ 6 items{ 7 0=>item{"itemId"=>1,"type"=>1,"text"=>"見出し1"}, 8 1=>item{"itemId"=>1,"type"=>2,"text"=>"小見出し1"}, 9 2=>item{"itemId"=>1,"type"=>3,"text"=>"本文1-1"}, 10 3=>item{"itemId"=>1,"type"=>3,"text"=>"本文1-2"}, 11 4=>item{"itemId"=>1,"type"=>1,"text"=>"見出し2"}, 12 5=>item{"itemId"=>1,"type"=>2,"text"=>"小見出し2-1"}, 13 6=>item{"itemId"=>1,"type"=>3,"text"=>"本文2-1"}, 14 7=>item{"itemId"=>1,"type"=>3,"text"=>"本文2-2"}, 15 8=>item{"itemId"=>1,"type"=>2,"text"=>"小見出し2-2"}, 16 9=>item{"itemId"=>1,"type"=>3,"text"=>"本文2-3"}, 17 10=>item{"itemId"=>1,"type"=>1,"text"=>"見出し2"}, 18 11=>item{"itemId"=>1,"type"=>2,"text"=>"小見出し2"}, 19 12=>item{"itemId"=>1,"type"=>3,"text"=>"本文2-1"} 20 } 21}
Controller
1public function index($itemId) 2{ 3 $items = Items::where("id", $itemId)->paginate(4); 4 return view('.index',['items' => $items]); 5}
View
1@foreach($items as $item) 2 {!! $item->getText() !!}//getText()は文章を生成するためのものです 3@endforeach 4 5{!! $items->render() !!}
補足情報(FW/ツールのバージョンなど)
PHP 7.1.0
Laravel 5.1.46
※その他、必要な情報があればコメントいただきたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。