我有一个项目,在那里我想添加过滤功能。我能做到,但我的剧本有个漏洞。当我以相同的标题/帖子创建新的数据预订时,筛选列表将增加,并且具有相同的标题/帖子。但在那里我只想列一个单子。
图像
php - 在Laravel上过滤-LMLPHP
它应该是:
科斯特阿尔法查理三角洲回声
Kost Fanta 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

为了实现我的目标,我需要对代码做哪些改进?

最佳答案

您应该使用distinct:

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

09-30 18:32
查看更多