php - 如何使用 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,但它不支持数组。
解决方案
为了使用处理器将项目保存到数据库中,最佳实践是创建模式并将给定数据作为对象保存在数据库中。这允许您稍后使用 xPDO 在其他处理器或片段中检索项目(对象)。
有关创建模式和与自定义对象交互的基本解释/如何在此处查看“在 MODX 革命中开发额外内容”文档
推荐阅读
- cassandra - Cassandra 相当于 group by
- python-3.x - 如何从类中的静态变量调用静态方法?
- arrays - 无法使用 for 循环 Verilog 为数组赋值
- java - java.lang.ArrayIndexOutOfBoundsException 2 出 2
- django - graphene-django 中的自定义参数
- hadoop - 尝试使用 HttpFS 访问目录时出现 NullPointerException
- python - 如何解决“jinja2.exceptions.UndefinedError: 'zip' is undefined”
- ios - 什么是 URL 选项?
- microcontroller - proteus 错误:PC=0x0118 处的操作码 0x000D 无效
- matlab - 表格 matlab 动态文本