【问题标题】:implement exact filters by passing multiple data通过传递多个数据来实现精确的过滤器
【发布时间】:2022-12-06 04:40:18
【问题描述】:

我有一个关于如何在过滤器中显示确切数据的问题,我正在制作一个过滤器,通过 5 个数据来过滤它,我希望我传递的前 3 个数据是准确的,问题是如果我通过一个id 值为 1 的数据它给我带来了 id 为:1-10-11-111 的数据,我只希望它给我带来 1。 这是我进行查询的控制器

public function getProcess(Request $request){
  
   if($request){
            $entity = trim($request->get('entity_id'));
            $process = trim($request->get('process_id'));
            $proveed = trim($request->get('proveed_id'));
            $queryord_compra = trim($request->get('ord_compra')); 
            $querydescrip = trim($request->get('descrpcion'));
            
            $ord_compra =Order_com::where('entity_id',$entity )//where('entity_id','LIKE', '%'. $entity  .'%')
                                        ->where('process_id',$process)//where('process_id','LIKE', '%'. $process  .'%')
                                        ->where('proveed_id',$proveed )//where('proveed_id','LIKE', '%'. $proveed   .'%')
                                        ->where('ord_compra','LIKE', '%'. $queryord_compra .'%')
                                        ->where('descrpcion','LIKE', '%'. $querydescrip .'%')
                                        ->get();
           
    }
    $data = ['ord_compra' => $ord_compra,'proveedores' => $proveedores];
    return view('admin.order_compra,$data);
}

我对前 3 个数据进行了查询,但在过滤时未显示任何内容

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您可以在查询后的行中使用 dd(DB::getQueryLog()); 来查看 SQL 查询是什么,这可能有助于您调查问题。

    根据您的描述,您的方法是正确的 - 但是我确实看到了一些潜在的问题。

    我看到的主要问题是您没有对您的请求进行任何服务器端验证,因此其中一些值可能为空或 null,这可以解释缺少结果。

    您还应该执行 dd($request); 以确保传递给 Eloquent 模型的数据符合您的预期。

    【讨论】:

      猜你喜欢
      • 2021-04-02
      • 2020-05-04
      • 1970-01-01
      • 2017-03-08
      • 2021-07-04
      • 2016-04-03
      • 2016-09-13
      • 2020-11-06
      • 1970-01-01
      相关资源
      最近更新 更多