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


How to call the postgress function/stored procedure from laravel controller?

laravel code:

$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 ( ))

postprogress中的函数:

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函数的最好方法是什么呢?

我不想把它转换成表调用。它应该像一个存储过程。

从Laravel控制器调用Postgres函数:

使用以下方法

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

从Laravel控制器调用Postgres函数:

使用以下方法

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