【问题标题】:how to call Laravel Store Procedure passing with multipal values in one variable如何调用 Laravel 存储过程在一个变量中传递多个值
【发布时间】:2018-07-16 12:02:09
【问题描述】:

我在我的 Laravel 网站中使用 MS-SQL,我创建了一个 SP,它根据过滤器类型获取结果 当我在 MS-SQL (http://prntscr.com/k70ta9) 上运行 SP 时,它工作正常 例如:exec GetInventoryDe​​tail @site='MI,SI'(它返回超过 100 条记录)

现在的问题是当我通过 ajax 发送请求时,它为“site”和“readyDate”返回零结果 在这两个变量中,我们必须传递两个以上的值,例如:'MI,SI,DC' 等。

请看屏幕短片:http://prntscr.com/k70o7q

而我的功能是在给定的句柄请求下。

public function inventoryDetailData(Request $request){

    try{

            $vendorId   =   ($request->vendorId)? $request->vendorId : "";
            $site       =   ($request->site)?  $request->site  : "";
            $readyDate  =   ($request->readyDate)? $request->readyDate : "";


    $filterArray    = array($vendorId,$site,$readyDate);

    $result =   DB::select('exec GetInventoryDetail ?,?,?,', $filterArray);

    dd($result);

    }
    catch(\Exception $e){

        return response()->json(['status' => 'danger','message' => $e->getMessage()]);  

    }

此 ajax 功能仅适用于 vendorId,但不适用于其他人。

请帮助我如何解决此问题。我的代码有语法问题吗?

【问题讨论】:

    标签: php sql-server laravel stored-procedures


    【解决方案1】:

    我得到了我在给定代码下使用的问题的解决方案,它对我有用:)

    DB::select(DB::raw("exec GetInventoryDetail :Param1, :Param2"),[
                        ':Param1' => $param_1,
                        ':Param2' => $param_2,
                    ]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-13
      相关资源
      最近更新 更多