在将参数传递给数据库时,我选择在控制器中使用存储过程。
实施例
$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