在laravel 5中调用MSSQL存储过程的命名参数

时间:2016-10-13 00:00:29

标签: laravel laravel-5 eloquent

我有一个现有的MSSQL存储过程,我需要在我的laravel应用程序中调用。我知道我可以在laravel雄辩中使用高级语言,但客户希望我应该调用存储过程。

我需要按如下方式调用SP

exec sp_getDepends @Action= 'smn',@DependencyID = 12345

我知道我可以使用DB:statement,但我不知道如何传递命名的参数。

你可以帮我解决这个问题吗?

谢谢

2 个答案:

答案 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']);