duanganleng0577 2018-04-03 08:24
浏览 289
已采纳

Laravel / Lumen api过滤器

recently I'am trying to make my api filtering work. I need to filter my products like this: http://localhost/search?feature_id=1,2,3,4,5...
Everything is fine if I'm sending only 1 id. But how to make it work in this way?

This is my controller:

 public function search2(\Illuminate\Http\Request $request) {
        $query = DB::table('tlt_product_features'); 

        if ($request->has('feature_id') ) {
            $query = $query->whereIn('feature_id', [$request->get('feature_id')]);
        }

        $products = $query->get();

        return response()->json([
            'products' =>$products
        ]);
    } 
  • 写回答

2条回答 默认 最新

  • doulun0651 2018-04-03 08:27
    关注

    Use explode() to make arrays of id.

    $ids = explode(",",$request->get('feature_id'));
    $query = $query->whereIn('feature_id', $ids);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?