Php 拉维滤波

Php 拉维滤波,php,mysql,laravel,laravel-5,laravel-5.1,Php,Mysql,Laravel,Laravel 5,Laravel 5.1,我有一个项目,在那里我想添加过滤功能。我能做到,但我的脚本中有一个bug。当我以相同的标题/帖子创建新的数据预订时,过滤器列表会增加,并且具有相同的标题/帖子。但是在那里我只想列一个清单 形象 其内容应为: 科斯特阿尔法查理三角回波 科斯特凡塔宾塔罗酒店 家庭测试 这是我的控制器: public function getIndex() { $list = DB::table('data_kos') ->orderBy('id','asc')

我有一个项目,在那里我想添加过滤功能。我能做到,但我的脚本中有一个bug。当我以相同的标题/帖子创建新的数据预订时,过滤器列表会增加,并且具有相同的标题/帖子。但是在那里我只想列一个清单

形象

其内容应为:

  • 科斯特阿尔法查理三角回波
  • 科斯特凡塔宾塔罗酒店
  • 家庭测试
这是我的控制器:

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
@foreach($list as$row)
  • @endforeach
    为了实现我的目标,我必须对代码进行哪些改进?

    您应该使用distinct:


    啊,它的工作。但是如果我使用join table,它将不起作用。啊,我发现了它。当我使用join stratement时,我只需要在控制器中添加groupby。@AdamProjo很棒,很高兴我能提供帮助:)如果这个答案解决了您的问题,请将问题标记为已解决。
    $list = DB::table('data_kos')
        ->distinct()
        ->select( 'title' )
        ->orderBy('id','asc')
        ->get();