如何从laravel控制器调用postgress函数/存储过程?

时间:2016-09-08 07:00:50

标签: php postgresql laravel

laravel代码:

$allUsers=DB::select('call getUsersCount()');

errror:

SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "call" LINE 1: call getUsersCount() ^ (SQL: call getUsersCount()) (Bindings: array ( ))

在postgress中的功能:

CREATE OR REPLACE FUNCTION public."getUsersCount"()
      RETURNS bigint AS
    $BODY$
      SELECT count(*)  FROM users;
    $BODY$
      LANGUAGE sql VOLATILE
      COST 100;
    ALTER FUNCTION public."getUsersCount"()
      OWNER TO postgres;

那么从laravel调用Postgres函数的最佳方法是什么?

我不想将此转换为表格调用。它应该像存储过程一样。

1 个答案:

答案 0 :(得分:3)

从Laravel控制器调用Postgres函数:

使用以下方法

$allUsersCount=DB::select('SELECT public."getUsersCount"()');