Выполнить хранимую процедуру в безголовых CMS Directus - PullRequest
0 голосов
/ 03 мая 2020

Я просто нахожу directus cms без головы

Выглядит потрясающе. Это разрешает многие случаи использования для меня.

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

Если пользовательская конечная точка или graphql позволяют мне выполнять хранимую процедуру, у меня будут выполнены все мои потребности.

Возможно ли это?

1 Ответ

0 голосов
/ 04 мая 2020

Привет, наконец, я нахожу, как использовать пользовательские конечные точки для выполнения простых запросов, включая хранимые процедуры.

Возможно, возможно реализовать модуль для добавления опции администратора gui для этого, я пытаюсь работать в этом, для На данный момент это пример для выбора:

use Directus\Application\Http\Request;
use Directus\Application\Http\Response;

return [
'' => [
    'method' => 'GET',
    'handler' => function (Request $request, Response $response) {

        $container = \Directus\Application\Application::getInstance()->getContainer();
        $dbConnection = $container->get('database');
        $tableGateway = new \Zend\Db\TableGateway\TableGateway('directus_users', $dbConnection);

        $query = $tableGateway->getAdapter()->query("select * from productos where 1=1");

        $result = $query->execute();

        if ($result->count() > 0) {
            $returnArr = array();
            while ($result->valid()) {
                $returnArr[] = $result->current();
                $result->next();
            }
            if (count($returnArr) > 0) {
                return $response->withJson([
                    'data' => [
                        $returnArr,
                    ],
                ]);
            }
        }
        return "{}";
    },
],
];

Извините за мой плохой Engli sh.

...