[英]DB::select procedure return empty array from input request
我在我的控制器中创建了这个函数:
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 帮助程序确认 client_id 已传递给您的productInvoiceListTest方法。
public function productInvoiceListTest(Request $request){
dd($request->all());
}
如果 client_id 是在您的productInvoiceListTest方法中传递的请求实例的一部分,那么您可以使用 $request->input('client_id') 方法访问它。 如果它不是请求实例的一部分,请确保从调用或重定向到productInvoiceListTest的方法中传递了client_id 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.