繁体   English   中英

DB::select 过程从输入请求返回空数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM