2014-12-04 72 views
0

如何在laravel中获得SQL Server函数的结果?使用Laravel选择SQL Server函数

尝试这样:

\DB::connection('database')->select(\DB::raw("SELECT dbo.function(1, 1, 'O', GETDATE(), 5)")); 

但越来越无法访问空属性。

我想我可以得到这个工作,如果我指定一个任意表并选择第一条记录。 有没有更好的方法来做到这一点?似乎不必要的复杂。

\DB::connection('database')->table('table') 
          ->select(\DB::raw("dbo.function(1, 1, 'O', GETDATE(), 5) as nextDocId")) 
          ->first(); 

你可能想知道:为什么不直接用PHP编写这个功能,这个问题的答案是因为我连接到其中,他们已经编写存储过程和函数的专有软件的后台数据库以处理我正在寻找的相同功能。我想坚持他们的一致性。

回答

0

好吧,在你的第一个答案中,你并没有告诉laravel你想要哪张桌子,以及你在找什么结果。

使用查询生成器时,您需要使用其中一种方法(first(),get()等)才能访问数据。

如果你设置你的数据库配置文件(app/config/database.php),那么你将不需要使用connection()方法。

你试过使用雄辩吗?这使事情变得更容易!

+0

感谢您的回应! 真的不需要一张表 - 它是无关的,因为它是一个数据库级的标量函数。 我实际上有两个数据库连接,这不是我的主要连接,因此需要连接调用。 我不完全确定我将如何使用这种情况的雄辩。 没有真正的模型可供考虑。 – nicthu 2014-12-05 20:23:57