oval/laravel-pagination

Laravel 的分页助手库

v1.4.5 2015-01-13 17:45 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:49:17 UTC


README

使用 composer 名称包含我们的库:oval/laravel-pagination

查看

$Model->items 是从我们的控制器传递过来的,并包含来自数据库的响应(见模型)

<?=$Model->items->appends( Input::except('page') )->links();?>

控制器

这是一个控制器方法的示例

public function Test()
{
    
    $paginationViewModel = new PaginationViewModel();
    $paginationModel = new PaginationModel();
    
    $paginationModel->amount = 50;
    $paginationModel->columns[ "projectTitle" ] = new PaginationColumn( "project_title", Input::get( "projectTitle" ), Input::get('projectTitleSort') );
    $paginationModel->columns[ "partners" ] = new PaginationColumn( "partners", Input::get( "partners" ), Input::get('partnersSort') );        
    $paginationModel->page = isset( $_GET[ "page" ] ) ? $_GET[ "page" ] : 0;
    
    $paginationViewModel->paginationModel = $paginationModel;
    $paginationViewModel->items = $this->yourRepository->GetWithPagination( $paginationModel );
    
    return View::make('whatever/test', array( "Model" => $paginationViewModel ) );
    
}

模型

这是我们“yourRepository”中设置的 GetWithPagination 方法

public function GetWithPagination( PaginationModel $paginationModel )
{
    $query = DB::table('tablename');   
    $whatevers = $query->paginate( PaginationHelper::PrepareForDb( $query, $paginationModel ) );
    return $whatevers;
}