【发布时间】: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();
【问题讨论】:
-
您要使用“whereIn”过滤的列名是什么?
-
@OMR "format" 是数据库中的列名
标签: laravel