Sql server 如何从laravel中的存储过程中获取最后插入的值?
我在试图保存数据时遇到获取数据的问题。我想在插入数据后得到值,我指的是插入数据后的数据 这是我的控制器 controller.phpSql server 如何从laravel中的存储过程中获取最后插入的值?,sql-server,laravel,Sql Server,Laravel,我在试图保存数据时遇到获取数据的问题。我想在插入数据后得到值,我指的是插入数据后的数据 这是我的控制器 controller.php $transactionmemo = DB::connection('sqlsrv2')->insert('sp_Crewprogrammemo_Insert ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?', array($crewprogrammemo_id, $crewprogrammemoNumber
$transactionmemo = DB::connection('sqlsrv2')->insert('sp_Crewprogrammemo_Insert ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?',
array($crewprogrammemo_id,
$crewprogrammemoNumber,
$showFocusId,
$showName,
$crewprogrammemoDescription,
$crewprogrammemoIsapproved,
$crewprogrammemoApprovedby,
$crewprogrammemoApproveddate,
$crewprogrammemoIsdisabled,
$crewprogrammemoDisabledby,
$crewprogrammemoDisableddate,
$crewprogrammemoCreatedby,
$crewprogrammemoCreateddate,
$crewprogrammemoModifiedby,
$crewprogrammemoModifieddate
));
$lastinsertedid = $transactionmemo['crewprogrammemo_id'];
dd($lastinsertedid)
我得到了空数据,我的crewprogrammemo\u id
最初是空的,但值将在存储过程中创建
存储过程:
ALTER PROCEDURE [dbo].[sp_Crewprogrammemo_Insert]
@crewprogrammemo_id AS varchar(50),
@crewprogrammemo_number AS varchar(125),
@show_focus_id AS varchar(50),
@show_name AS varchar(255),
@crewprogrammemo_description AS varchar(1000),
@crewprogrammemo_isapproved AS tinyint,
@crewprogrammemo_approvedby AS varchar(50),
@crewprogrammemo_approveddate AS datetime,
@crewprogrammemo_isdisabled AS tinyint,
@crewprogrammemo_disabledby AS varchar(255),
@crewprogrammemo_disableddate AS datetime,
@crewprogrammemo_createdby AS varchar(255),
@crewprogrammemo_createddate AS datetime,
@crewprogrammemo_modifiedby AS varchar(255),
@crewprogrammemo_modifieddate AS datetime
AS
BEGIN
DECLARE @errormessage as nvarchar(100);
DECLARE @type as nvarchar(2)
SET @type = 'CP'
DECLARE @channel as nvarchar(3)
SET @channel = 'tv7'
EXEC sp_sequencer_transaction @type, @crewprogrammemo_id OUTPUT
IF @crewprogrammemo_id IS NULL OR @crewprogrammemo_id = ''
BEGIN
SET @errormessage = 'Booking request ID null, Booking request cannot be saved!';
RAISERROR (@errormessage, 16, 1);
RETURN;
END
INSERT INTO transaction_crewprogrammemo (crewprogrammemo_id, crewprogrammemo_number, show_focus_id, show_name, crewprogrammemo_description, crewprogrammemo_isapproved, crewprogrammemo_approvedby, crewprogrammemo_approveddate, crewprogrammemo_isdisabled, crewprogrammemo_disabledby, crewprogrammemo_disableddate, crewprogrammemo_createdby, crewprogrammemo_createddate, crewprogrammemo_modifiedby, crewprogrammemo_modifieddate)
VALUES (@crewprogrammemo_id, @crewprogrammemo_number, @show_focus_id, @show_name, @crewprogrammemo_description, @crewprogrammemo_isapproved, @crewprogrammemo_approvedby, @crewprogrammemo_approveddate, @crewprogrammemo_isdisabled, @crewprogrammemo_disabledby, @crewprogrammemo_disableddate, @crewprogrammemo_createdby, @crewprogrammemo_createddate, @crewprogrammemo_modifiedby, @crewprogrammemo_modifieddate)
SELECT
crewprogrammemo_id, crewprogrammemo_number, show_focus_id, show_name,
crewprogrammemo_description, crewprogrammemo_isapproved,
crewprogrammemo_approvedby, crewprogrammemo_approveddate,
crewprogrammemo_isdisabled, crewprogrammemo_disabledby,
crewprogrammemo_disableddate, crewprogrammemo_createdby,
crewprogrammemo_createddate, crewprogrammemo_modifiedby,
crewprogrammemo_modifieddate
FROM
transaction_crewprogrammemo
WHERE
crewprogrammemo_id = @crewprogrammemo_id
END
我的crewprogrammemo\u id
在经过存储过程后将被赋予值,那么我如何在控制器上获得该值呢
我以前试过使用
$transactionmemo['crewprogrammemo\u id']
,但没有成功-我如何解决这个问题?使用输出
参数存储在那里。或者可能使用子句实际上我是初学者,在哪里可以得到输出?使用output
参数存储在那里。或者可能使用从句实际上我是初学者,在哪里可以得到输出?