我有一个现有的MSSQL存储过程,我需要在我的laravel应用程序中调用。我知道我可以在laravel雄辩中使用高级语言,但客户希望我应该调用存储过程。
我需要按如下方式调用SP
exec sp_getDepends @Action= 'smn',@DependencyID = 12345
我知道我可以使用DB:statement
,但我不知道如何传递命名的参数。
你可以帮我解决这个问题吗?
谢谢
答案 0 :(得分:0)
select table1.sale_date
from sales table1 where
table1.sale_date between
(select debt_date::date -3 from debtors)
and (select debt_date::date +4 from debtors);
dbo。可能需要删除,不是100%肯定,如果这是你 寻找,但我希望它会让你走上正确的轨道。
答案 1 :(得分:0)
我必须找到解决方案,所以就在这里。
DB::select('exec sp_getDepends @Action = ?, @DependencyID = ?', ['smn', '12345'])
如果只想传递一个参数(在这种情况下可能是DependencyID),则可以使用:
DB::select('exec sp_getDepends @DependencyID = ?', ['12345'])
您有大致的想法。
问题是询问如何在laravel中调用MSSQL存储过程的命名参数。这就是我的回答。如果您想在laravel中使用命名参数,我想可能是这样的:
DB::select('exec sp_getDepends @Action = :ActionParam, @DependencyID = :DependencyIDParam'), ['ActionParam' => 'smn', 'DependencyIDParam' => '12345']);