Laravel& MSSQL存储过程 - 插入后返回id

时间:2014-08-13 17:37:52

标签: php sql-server stored-procedures laravel

在将参数传递给数据库时,我选择在控制器中使用存储过程。

实施例

$insert = DB::statement( "EXEC dbo.insertSomething ?", array( $value ) );

根据SP中的SQL代码传递和插入参数。然后我尝试返回SCOPE_IDENTITY(),它在DB级别上直接执行时显示正常。但是当我尝试将通过SP返回的相同值返回到Laravel时,我只需获得1的资源,说明SP已执行。

我也试过

$insert = DB::select( "EXEC dbo.insertSomething ?", array( $value ) );

而是错误输出并指出“查询的活动结果不包含任何字段”

关于我如何做到这一点的任何想法?我需要插入记录的id来为我的应用程序添加所需的功能。

更新显示SQL

插入后......

DECLARE @ObjectID int;
SET @ObjectID = SCOPE_IDENTITY();

RETURN @ObjectID -- Doesn't work
SELECT @ObjectID AS ObjectID -- Doesn't work

谢谢, DigiBathe

0 个答案:

没有答案