2015-06-20 92 views
0

用户搜索某个公里半径范围内的配置文件即其中的我运行它采用经/纬度值检索结果功能50公里(这是不直的方形内粗略搜索行距),然后分页结果。Laravel查询的foreach函数删除的项目,然后进行分页

$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);  
      } 

回答

0

你不能叫getpaginate,因为事实上,你只能调用其中之一。你应该在数据库查询筛选器或考虑做Illuminate\Pagination\PaginatorIlluminate\Pagination\LengthAwarePaginator

+0

喜哈维尔的实例,谢谢 - 已尝试的,上面显示的代码,但它发送所有结果的看法是有可能我知道我在这里标题不对。我认为这与如何将新的分页切换到视图有关。 – sprintcar78a