首页 > 解决方案 > 如何使用 MODX 处理器向数据库添加许多元素

问题描述

我有一个带有数组输出的文件上传处理器。如何将此数组添加到数据库?

这是我的处理器的代码:

class ModCLJsonUploadProcessor extends modProcessor {
    public $languageTopics = ['modcl'];

    public function process() {
        $file = fopen($_FILES['json-file']['tmp_name'], 'r');
        $json = fread($file, $_FILES['json-file']['size']);
        $objs = json_decode($json);
        $english = array();
        for ($i = 0; $i < count($objs); $i++) {
            $english[$i] = $objs[$i]->{'name'};
        }

        return $this->success($english);
    }
}

return 'ModCLJsonUploadProcessor';

我尝试使用本机 modObjectCreateProcessor,但它不支持数组。

标签: phpmodx-revolution

解决方案


为了使用处理器将项目保存到数据库中,最佳实践是创建模式并将给定数据作为对象保存在数据库中。这允许您稍后使用 xPDO 在其他处理器或片段中检索项目(对象)。

有关创建模式和与自定义对象交互的基本解释/如何在此处查看“在 MODX 革命中开发额外内容”文档


推荐阅读