oval / laravel-pagination
Laravel 的分页助手库
v1.4.5
2015-01-13 17:45 UTC
Requires
- php: >=5.3.0
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;
}