You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取特定Gravity Form(ID=2)最新条目的SQL查询需求

解决Gravity Form特定表单最新条目查询问题

你的核心问题是原SQL没有限定目标表单ID(2),且直接查询gf_entry_meta表无法准确关联到对应表单的最新提交条目,以下是修正后的方案:

正确的查询逻辑

Gravity Forms的条目基础信息存在gf_entry表,字段值存在gf_entry_meta表,需要先定位到表单ID=2的最新条目,再获取其对应的元数据:

方法1:分步查询(更直观)

global $wpdb;

// 先获取表单ID=2的最新条目ID
$entry_id = $wpdb->get_var(
    $wpdb->prepare(
        "SELECT id FROM {$wpdb->prefix}gf_entry WHERE form_id = %d ORDER BY date_created DESC LIMIT 1",
        2
    )
);

// 根据条目ID获取对应的所有元数据
if ($entry_id) {
    $entry_meta = $wpdb->get_results(
        $wpdb->prepare(
            "SELECT * FROM {$wpdb->prefix}gf_entry_meta WHERE entry_id = %d",
            $entry_id
        )
    );
}

方法2:关联查询(一次性获取)

如果需要直接拿到最新条目的所有元数据,也可以用关联查询:

global $wpdb;

$sql = $wpdb->prepare(
    "SELECT em.* 
     FROM {$wpdb->prefix}gf_entry e
     JOIN {$wpdb->prefix}gf_entry_meta em ON e.id = em.entry_id
     WHERE e.form_id = %d
     ORDER BY e.date_created DESC
     LIMIT 1",
    2
);

$latest_entry_meta = $wpdb->get_results($sql);

关键修正点

  • 加入form_id = 2的筛选条件,确保只获取目标表单的条目
  • 基于gf_entry表的date_created排序,保证拿到的是该表单的最新提交
  • 使用$wpdb->prepare()处理参数,避免SQL注入风险
  • 原代码用$wpdb->query()仅返回受影响行数,改用get_var()或get_results()获取实际数据

内容的提问来源于stack exchange,提问作者jloz312

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:40:48