我是 Laravel 4.2 的新手。
我需要在我的 View 搜索结果页面中做一些分页。
我正在做的是在 Controller 中编写这段代码 -
public function getSpecials()
{
$title = "Specials";
$info = DB::table(DB::raw('`car` , `available_car`, `users`'))
->select('car.car_maker', 'car.car_model', 'available_car.car_price', 'car.car_production_year', 'available_car.car_id', 'available_car.id', 'available_car.current_position')
->where('available_car.car_id', '`car`.`car_id`')
->where('available_car.is_sold', 'no')
->whereRaw('`available_car`.`created_at` BETWEEN NOW() - INTERVAL 30 DAY AND NOW()')
->orderByRaw('WEEK(`available_car`.`created_at`) DESC')
->orderBy('available_car.car_price', 'desc')
->orderBy('users.last_paid_date', 'desc')
->orderBy('available_car.created_at', 'desc')
->distinct()
->get();
$pagination = Paginator::make($info, count($info), 5);
//var_dump($pagination );
return View::make('specials',compact('pagination'))->with('info',$info)->with('title',$title);
}
我想每页显示 5 个项目。所以我正在做这样的分页 -
$pagination = Paginator::make($info, count($info), 5);
但这里的问题是我在页面中完美地获取了分页号。 但是,All page 显示的是整个结果,而不是只显示 5 个项目。
这是输出。 (分页是每页 5 个项目,在我的例子中条目总数是 7)
第1页
第2页
谁能帮帮我? 在此先感谢您的帮助。
最佳答案
只需对代码做一点小改动,laravel 会处理剩下的事情。
public function getSpecials()
{
$title = "Specials";
$info = DB::table(DB::raw('`car` , `available_car`, `users`'))
->select('car.car_maker', 'car.car_model', 'available_car.car_price', 'car.car_production_year', 'available_car.car_id', 'available_car.id', 'available_car.current_position')
->where('available_car.car_id', '`car`.`car_id`')
->where('available_car.is_sold', 'no')
->whereRaw('`available_car`.`created_at` BETWEEN NOW() - INTERVAL 30 DAY AND NOW()')
->orderByRaw('WEEK(`available_car`.`created_at`) DESC')
->orderBy('available_car.car_price', 'desc')
->orderBy('users.last_paid_date', 'desc')
->orderBy('available_car.created_at', 'desc')
->distinct()
->paginate(5);
return View::make('specials',['info' => $info, 'title' => $title]);
}
在 View 中:
像这样迭代:
@if(!$info->isEmpty())
@foreach($info as $i)
do whatever you want
@endforeach
@else
no data to show....
@endif
{{$info->links()}}
关于php - Laravel 4.2 分页与复杂的数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828010/