drupal 7 - 获取介于2日期之间的webform提交

时间:2018-04-24 16:16:26

标签: php drupal drupal-7 drupal-8

Drupal 7中的

webform_get_submissions()会返回所有Webform提交内容,问题是我想要返回在2个日期之间的提交

例如: 获取2018年4月16日至2018年4月28日之间提交的webform提交。

1 个答案:

答案 0 :(得分:0)

让我分享一个我想出的解决方法,也许它将帮助您找到一个完整的解决方案。

实际上,您不仅可以在webform_get_submissionsnid中使用过滤器,而且可以在其他任何字段中使用过滤器。在这种情况下,可以通过名为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的源文件,并且还需要手工实现简单的解析,以防我们想为一个字段名称提供多个条件。