2016-06-23 9 views
1

Yii2のパラメータを使用してストアドプロシージャを呼び出すにはどうすればよいですか?Yii2のパラメータを使用してストアドプロシージャを呼び出す方法

あなたはパラメータを持つストアドプロシージャを呼び出すためのコードの下に使用することができます。この私のストアドプロシージャ

ALTER PROCEDURE [dbo].[usp_M_Inventory#InsertData] 
    @ID_Item RunNum, 
    @Item_Name varchar(250), 
    @ID_Mom varchar(50), 
    @Item_Price float, 
    @ID_Inv_Category RunNum, 
    @Item_PIC1 varchar(50), 
    @Item_PIC2 varchar(50), 
    @Item_active BIT, 
    @User UserDataType 
AS 
BEGIN 
    SET NOCOUNT ON; 

    INSERT INTO M_Inventory(ID_Item, Item_Name, ID_Mom, Item_Price, 
          ID_Inv_Category, Item_PIC1, Item_PIC2, 
          Item_active, insert_user, insert_date, update_user, update_date) 
    VALUES (@ID_Item, @Item_Name, @ID_Mom, @Item_Price, 
      @ID_Inv_Category, @Item_PIC1, @Item_PIC2, 
      @Item_active, @User, GETDATE(), @User, GETDATE()) 
END 

答えて

3

$result = \Yii::$app->db->createCommand("CALL storedProcedureName(:paramName1, :paramName2)") 
         ->bindValue(':paramName1' , $param1) 
         ->bindValue(':paramName2', $param2) 
         ->execute(); 
+0

または、行を戻す場合はexecute()をqueryAll()に置き換えます。 – ChrisB

関連する問題