在directus headless cms中执行存储过程

Execute stored procedure in directus headless cms

我刚找到directus headless cms

看起来棒极了。它为我解决了很多用例。

但我很关心如何实现事务、聚合函数或复杂的查询。我知道这可能超出了范围。

如果自定义端点或 graphql 允许我执行存储过程,我将满足我的所有需求。

可能吗?

你好,我终于找到了如何使用自定义端点进行普通查询,包括存储过程。

也许可以实现一个用于添加管理 gui 选项的模块,我尝试在其中工作,目前这是 select:

的示例
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 "{}";
    },
],
];

抱歉我的英语不好。