Php DB::select过程从输入请求返回空数组
我在控制器中创建了此函数:Php DB::select过程从输入请求返回空数组,php,mysql,laravel,Php,Mysql,Laravel,我在控制器中创建了此函数: public function productInvoiceListTest(Request $request){ $var = $request->client_id; $date = "2019-12-30"; $sql = 'CALL proc_invoice_product_list("'.$var.'","i.invoice_date","2019-12-30","","")'; $productinvoice =
public function productInvoiceListTest(Request $request){
$var = $request->client_id;
$date = "2019-12-30";
$sql = 'CALL proc_invoice_product_list("'.$var.'","i.invoice_date","2019-12-30","","")';
$productinvoice = DB::select($sql);
var_dump($productinvoice);
}
当我运行代码时,它返回空数组,但当我硬编码$var
的值时,它工作:
public function productInvoiceListTest(Request $request){
$var = 'dasdsdasdsadsadsa';
$date = "2019-12-30";
$sql = 'CALL proc_invoice_product_list("'.$var.'","i.invoice_date","2019-12-30","","")';
$productinvoice = DB::select($sql);
var_dump($productinvoice);
}
为什么当我使用请求输入时不能调用我的过程?如何读取输入请求?您可能需要首先确认正在使用dd帮助程序将客户端id传递给您的productInvoiceListTest方法
public function productInvoiceListTest(Request $request){
dd($request->all());
}
若客户机id是在productInvoiceListTest方法中传递的请求实例的一部分,那个么您可以使用$request->input('client_id')方法访问它。如果它不是请求实例的一部分,请确保从方法调用或重定向到productInvoiceListTest,传递客户端id。也许您可以尝试
$var=$request->input('client\u id')代码>如何访问请求输入?使用$request->input('client_id')代码>它也不起作用,我使用$request->client\u id
访问,我尝试了$request->client\u id
的回声值,它按预期返回,但使用内部调用…
不起作用$var=$request->client\u id
isinya apa bro@aepsaeepudin?数组:2[“client\u id”=>“QW9a414bc5-1263-11e9-881c-001e67fa8453-ID”“日期”=>“2019-12-30”]
它的返回正常,然后现在尝试通过使用$var=$request->client\u id从请求实例中提取它来访问client\u id;并确认是否看到它,如果看到,然后尝试在查询中使用它,它的返回也正常,我认为laravel具有出于安全原因不允许传递直接参数的功能,可能,,,Try:$sql=DB:raw('call proc_invoice_product_list(?,,?),[var,i.invoice_date,$date]);