webform_get_submissions()会返回所有Webform提交内容,问题是我想要返回在2个日期之间的提交
例如: 获取2018年4月16日至2018年4月28日之间提交的webform提交。
答案 0 :(得分:0)
让我分享一个我想出的解决方法,也许它将帮助您找到一个完整的解决方案。
实际上,您不仅可以在webform_get_submissions
或nid
中使用过滤器,而且可以在其他任何字段中使用过滤器。在这种情况下,可以通过名为sid
的字段使用过滤器:
submitted
这将导致收到字段$submissions = webform_get_submissions(array('nid' => $node->nid, "submitted" => "1503753434"));
与submitted
完全相等的提交。要获取例如比1503753434
更新的所有提交,一种方法是在文件1503753434
内的函数includes/webform.submissions.inc
中,请更改此部分:
webform_get_submissions_query
对此部分:
foreach ($filters as $column => $value) {
$pager_query->condition($column, $value);
}
这将导致收到比foreach ($filters as $column => $value) {
if ($column == "submitted") {
$pager_query->condition($column, $value, ">");
} else {
$pager_query->condition($column, $value);
}
}
更新的提交。以此类推,我们可以添加1503753434
过滤器或任何其他过滤器。
此解决方法的问题在于,它需要更改Drupal的源文件,并且还需要手工实现简单的解析,以防我们想为一个字段名称提供多个条件。