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