вернуть несколько таблиц в функцию по идентификатору - PullRequest
0 голосов
/ 01 июля 2019

У меня есть функция, которая возвращает несколько таблиц, эту функцию я использую для запроса во флаттере.когда я хочу отобразить активность пользователя на основе идентификатора, я использую эту функцию.но когда я пытаюсь выполнить в postgres, он возвращает ноль.Но данные появляются, когда я меняю var_id на id как id номер 1 или что-то еще.это моя функция

  DECLARE
  headers JSONB;
  body JSONB;

  result JSONB;

  var_id BIGINT;

BEGIN
    headers = request->'headers';
    body = request->'body';

    var_id = body->>'id';

  SELECT json_agg(row_to_json(X))Into result
  FROM(SELECT 
            logs.user_activities.activity,
            logs.user_activities.created_at,
            sso.users.id,
            logs.user_activities.id_user
          FROM
            logs.user_activities
            INNER JOIN sso.users ON (logs.user_activities.id_user = sso.users.id)
          WHERE
            sso.users.id = var_id
          ORDER BY
            logs.user_activities.created_at DESC)X;

  IF result IS NULL THEN
    result = '[]';
  END IF;
  RETURN result;
END;

Я использую эту функцию при выборе пользователя, которого я хочу отобразить активность.

...