php 通过传递多个数据实现精确筛选

sxissh06  于 2022-12-10  发布在  PHP
关注(0)|答案(1)|浏览(81)

我有一个关于如何在过滤器中显示精确数据的问题,我正在制作一个过滤器,它传递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个数据进行了查询,但筛选时未显示任何内容

h79rfbju

h79rfbju1#

您可以在查询之后的行上使用dd(\DB::getQueryLog());来查看SQL查询是什么,这可能有助于您调查问题。
根据您的描述,您的方法是正确的-但我确实看到了一些潜在的问题。
我看到的主要问题是您没有对请求进行任何服务器端验证,因此其中一些值可能为空或null,这可以解释为什么没有结果。
您还应该执行dd($request);,以确保传递给雄辩模型的数据是您所期望的。

相关问题