dsc80135 2016-06-20 08:31
浏览 15
已采纳

过滤Laravel

i have a project, in there i want to add filter feature. i can make it but i have a bug in my script. when i create new data booking in same title/post the filter list increases and have same title/post. but in there i just want to make a list of them.

Image

wrong

its should be :

  • Kost Alpha Charlie Delta Echo
  • Kost Fanta Bintaro
  • Home Test

here is my controller :

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

and this is my view :

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

what improvements do i have to make to the code to achieve my goal?

  • 写回答

1条回答 默认 最新

  • douganggu4392 2016-06-20 09:29
    关注

    You should use distinct:

    $list = DB::table('data_kos')
        ->distinct()
        ->select( 'title' )
        ->orderBy('id','asc')
        ->get();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度