2014-12-04 4 views
0

Как я могу получить результат функции SQL Server в laravel?Выберите функцию SQL Server с Laravel

Стараясь как таковой:

\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

Смежные вопросы