【发布时间】:2015-06-21 08:26:22
【问题描述】:
用户搜索特定公里半径内的个人资料,即 50 公里,我运行使用纬度/经度值检索结果的函数(这是在正方形而不是直线距离内的粗略搜索),然后我对结果进行分页。
$query = $this->filterNearby($query, $geocode);
$query = $query->paginate(10);
但是对于每个查询,我需要使用大圆公式运行适当的距离(以获得准确的 50 公里),并且搜索的人可能只愿意从他们的位置移动 20 公里,所以我需要从查询中删除这些。
我曾尝试在分页之前执行$query = $query->get(),然后为每个执行一个以删除项目,但随后分页不起作用。我试图创建一个新的 Paginator,但不确定它是如何工作到视图中的?
最新代码:
if (\Request::segment(2) == "jobs")
{
$query = $this->searchJob($search_strategy);
$query = $this->filterNearbyJob($query, $geocode);
$query = $this->filterJob($query);
$query = $query->get();
// Foreach function to go here to get accurate distance between two points and remove from query results
$paginate = new Paginator($query, count($query), 10);
$category = $this->getCategoryURL($search_strategy);
$sub_categories = ServiceSubCategory::where('sub_category_url', '=', $search_strategy)->first();
return view('search.job')
->with('category', $category)
->with('sub_categories', $sub_categories)
->with('search_results', $paginate);
}
【问题讨论】:
标签: php laravel laravel-4 laravel-5