laravel多條件查詢,及分頁


$res = DtkModel::where('ID','>','1')->select("ID")->get()->paginate(20);//不成立

$res = DtkModel::where('ID','>','1')->select("ID")->get();//成立
$res = DtkModel::where('ID','>','1')->paginate(20);//成立
(where可以寫多個)

在laravel的分頁中,如果想多條件,查詢制定的一些字段,不要全部字段怎么實現呢?

其實我們也可以傳遞更多參數到paginate方法,paginate完整參數定義如下:

paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)

其中$perPage代表每頁顯示數目,$columns代表查詢字段,$pageName代表頁碼名稱,$page代表第幾頁。

 

在視圖中顯示分頁結果

 

當你調用查詢構建器或Eloquent查詢上的paginatesimplePaginate方法時,你將會獲取一個分頁器實例。當調用paginate方法時,你將獲取Illuminate\Pagination\LengthAwarePaginator,而調用方法simplePaginate時,將會獲取Illuminate\Pagination\Paginator實例。這些對象提供相關方法描述這些結果集,除了這些幫助函數外,分頁器實例本身就是迭代器,可以像數組一樣對其進行循環調用。

所以,獲取到結果后,可以按如下方式使用Blade

<div class="container">
    @foreach ($users as $user)
        {{ $user->name }}
    @endforeach
</div>

{!! $users->links() !!}

links方法將會將結果集中的其它頁面鏈接渲染出來。每個鏈接已經包含了?page查詢字符串變量。記住,render方法生成的HTML兼容Bootstrap CSS 框架。

注意:我們從Blade模板調用render方法時,確保使用{!! !!}語法以便HTML鏈接不被過濾

 

 

 

 

 

 

參考:http://laravelacademy.org/post/1854.html

http://laravelacademy.org/post/3246.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM