1
我已经安装了事件模块的Drupal安装。我写了一个短插件,用于搜索所有结束日期已过的事件,并使其无法生效。它基本上是一个SQL查询,像这样:更新MySQL表,但只查询最大值
UPDATE node LEFT JOIN content_field_dates on node.nid = content_field_dates.nid SET node.status = 0 WHERE node.type = 'event' AND field_dates_value2 < NOW() AND node.status = 1
然而,一些事件可能有多个日期,而这个查询将状态设置为0,即使一个日期已过,部分日期仍然是在未来。我已经成功地做了SELECT
查询只查询MAX()
日期,像这样:
SELECT * FROM node LEFT JOIN content_field_dates on node.nid = content_field_dates.nid WHERE node.type = 'event' AND field_dates_value2 < NOW() GROUP BY field_dates_value2 HAVING field_dates_value2 = MAX(field_dates_value2)
,但我不知道如何将其转化成UPDATE
查询,因为我不能用GROUP BY
。有任何想法吗?
,似乎工作。谢谢! :) – Pezholio