sql >> Database teknologi >  >> RDS >> Mysql

Sideinddeling i Laravel 4 fungerer for én side. men fungerer ikke for en anden

Søgeformularen er bedre ved at bruge GET-metoden, fordi den gør det nemt at bogmærke/gemme URL'en til senere brug. I Laravel 4's paginering er der en metode til at tilføje forespørgselsstrengen. Så vi kan beholde søgestrengen på andre sider.

Docs:http://laravel.com/docs/pagination#appending-to -pagineringslinks

Min kode:

Søgeformular

<form method="get" action="{{{ URL::to('lib/search') }}}">
<input class="input-xxlarge" name="q" type="text" placeholder="Search...">
<div class="control-group">
    <div class="controls">
        <input type="submit" class="btn" id="submit" value="Submit" />
    </div>
</div>

Routing

Route::get('lib/search', '[email protected]');

Controller

public function getSearch()
{
    $search = Input::get('q');

    $posts = $this->post->where('title', 'like', '%'.$search.'%')->paginate(10);

    return View::make('site/libraries/list', compact('posts', 'search'));
}   

Visning/blad Ved metode til at vise paginering:

{{ $posts->appends(array('q' => $search))->links() }}

Så vi kan beholde q=? querystring på andre sider (f.eks.:/lib/search?page=2&q=apple)



  1. MySQL Hash-indekser til optimering

  2. Mysql - Lagret procedure OUT variabel returnerer null

  3. Oprettelse af funktioner i phpMyAdmin - Fejl:adgang nægtet, du har brug for superprivilegiet til denne handling

  4. MySql - HAVING vs WHERE