2016-06-20 87 views
1

我有一个项目,在那里我想添加过滤器功能。我可以做到,但我的脚本中有一个错误。当我在相同的标题/帖子中创建新的数据预订时,过滤器列表增加并具有相同的标题/帖子。但在那里我只想列出它们。在Laravel上过滤

图片

wrong

它应该是:

  • 考斯特阿尔法查理三角洲回声
  • 科斯特芬达Bintaro
  • 首页测试

这里是我的控制器:

public function getIndex() 
    { 
     $list = DB::table('data_kos') 
     ->orderBy('id','asc') 
     ->get(); 

     $limit = 10; 
     $result = DB::table('data_kos') 
     ->orderBy('id','asc'); 
     if(Request::get('q')) { 
      $q = Request::input("q"); 
      $posts->where('title','like','%'.Request::get('q').'%'); 
      $posts->orwhere("sex","like","%".Request::get("q")."%"); 
      $posts->orwhere("price","like","%".Request::get("q")."%"); 
     } 
     if(Request::get('title')) { 
      $result = $result->where("title",Request::get("title")); 
     } 
     $data['list'] = $list; 
     $data['posts'] = $result->paginate($limit); 
     return view('kost', $data); 
    } 

,这是我的看法:

@foreach($list as $row) 
     <li><a href='{{ url("booking?title=$row->title") }}'>{{ $row->title }}</a></li> 
     @endforeach 

我有什么改进,使该代码实现我的目标?

回答

1

您应该使用不同

$list = DB::table('data_kos') 
    ->distinct() 
    ->select('title') 
    ->orderBy('id','asc') 
    ->get(); 
+0

啊,它的工作。但它不适用于如果我使用连接表。 –

+0

ahh oke我发现它,我只需要在我的控制器中添加groupby,当我使用加入战略。 –

+0

@AdamProjo太棒了,很高兴我可以帮助:)如果这个答案解决了您的问题,请将问题标记为已解决。 – TheFallen