PHPフレームワークLaravelのPagenateにqueryStringを追加したい

と思ったんです、いつもの様に唐突に

Pagenateとは

まぁあれです、件数が多い時にページリンク作ってくれるやつです
デフォルトだと、URLの後ろに page=2 みたいなのが追加されます

何がしたいのか

controller で $items=DB::table('items')->pagenate(20); とかやってビューに渡して、view において、 $items->links(); みたいな簡単な記述でページリンク作れるんですけど
このままだとリンク先で URL の page 以外の queryString が綺麗さっぱり消えてしまうので、残したいなぁと

こたえ

よく見たら簡単でしたっていうか川瀬さんところに書いてあった・・・がんばって調べたのに;;
ペジネーション 4.2.0 Laravel #ペジネーションリンクの追加

まぁ上記記事見てもらえば解決なのだけど、配列で渡すんじゃなくて $items->appends('sort', 'vote')->links(); みたいな書き方でも sort=vote が作れます (この場合一つしか作れなくなるけどw)
appends($key, $value) は、内部で$keyが(phpdoc は string のみになってるけど) array か string かを振り分けて addQuery($key, $value) に渡してるだけなので
一つだけの追加でよければ $items->addQuery('sort', 'vote')->links(); みたいに直接呼んじゃっても出来ますけど、混乱するだけなので appends($key, $value) だけ覚えれば良いと思います

ほんとのところ

Laravel で Server-Sent Events の記事を書こう書こうと思っててまとめるのがめんどうでこうなった
いつか書ければいいね・・・
あと code タグの入れ過ぎも読みにくいね、ちかたないね

Comments (0)

› No comments yet.

コメントを残す

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Pingbacks (0)

› No pingbacks yet.