簡體   English   中英

將laravel用戶創建數據傳遞到存儲過程

[英]Passing laravel user create data into stored procedure

我有一個存儲過程,試圖在創建時使用用戶模型中的數據在laravel中調用。 該過程可以使用2個參數手動正常運行。 就該過程而言,第一個參數是CHAR,20,第二個參數是整數。

因此,一旦保存了用戶,我就可以簡單地獲取狀態和新創建的ID,並將它們作為過程的參數傳遞到方法調用中,然后執行過程。

發生這種情況時,我沒有收到任何錯誤,但是記錄沒有更新,並且我一生無法弄清楚原因。 我在想它可能與數據類型有關,但我看不出為什么它不能與我所擁有的一起工作

有什么我想念的嗎?

 $user->save();

 //This dumps the correct values
 dd($user->status . $user->id);

 $updateUser = new userInfo();
 $updateUserInfo = $updateUser->updateUserStatus($user->status,$user->id);
 function updateUserStatus(string $status, $userID){
    $stmt = \DB::connection('odbc')->getPdo()->prepare('CALL UPDATE_STATUS(?,?)'); 
    $stmt->bindParam(1, $status, PDO::PARAM_STR, 20);
    $stmt->bindParam(2, $userID, PDO::PARAM_INT);
    $stmt->execute();
 }

這是我執行存儲過程的方式:

DB::select('call UPDATE_STATUS(?, ?)', [ $status, $userID ]);

您可以通過這種方式調用該過程。

function updateUserStatus(string $status, $userID){ 
  $stmt = \DB::SELECT('CALL UPDATE_STATUS($status, $userID)');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM