【问题标题】:Select WhereIn Array Query Laravel选择 WhereIn 数组查询 Laravel
【发布时间】:2021-10-16 21:02:49
【问题描述】:

我有多个过滤器选择查询生成器。我不知道如何使用 vaiable 添加 whereIn 。 在 $resolution 我得到低于数组。

Array
(
    [0] => 4K
    [1] => HD
)

在 $fps 中我低于数组。

(
    [0] => 25/1
    [1] => 10/1
)

所以我想获取 4K 和高清值的相关数据

我的代码如下

    function filter_each_video(Request $request){
            if(request()->ajax()){
                $where_str    = "1 = ?";
                // dd($req['resolution']);
    $where_params = array(1); 
    
                if($request->has('resolution') && ($request->get('resolution')!= null)){
                    $resolution = $request->get('resolution');
                   
                    $where_str .= "and format = '".$resolution."' ";
                    echo "<pre>";
                }
elseif($request->has('fps') && ($request->get('fps')!= null)){
                $fps = $request->get('fps');
                $where_str .= " fps = '$fps' ";
                
                // $item = Item::whereIn('fps', $fps)->get();
            }
               
              
               $item = Item::select('*')
      ->whereIn($where_str)
      ->orderByRaw(\DB::raw("FIELD(id, ".implode(",",$where_str).")"))
      ->get();
                
    
    
                $formats = DB::table('items')->select('format')->distinct()->get();
                $fps = DB::table('items')->select('fps')->distinct()->get();
                $data['item_count'] = $item;
                $data['item'] = $item;
               
                $html = view('frontend.pages.videos_for_each_filter', compact('data','formats','fps'))->render();

          

【问题讨论】:

标签: laravel


【解决方案1】:

whereIn 方法验证给定列的值是否包含在给定数组中。

第一个参数是您要在其上设置“位置”的列,第二个参数是包含选项的数组。

$optionsArray=['4K','HD']; // or you should get it from request or other source ...

然后:

 ->whereIn('format',$optionsArray)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-23
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2021-02-11
    • 1970-01-01
    相关资源
    最近更新 更多