如何在$wpdb->insert中关联user表外键插入investment表数据
解决方案
直接在插入的字段数组中添加userid字段,将获取到的当前登录用户ID($value1)赋值给它即可,修改后的完整代码如下:
// 获取当前登录用户ID global $current_user; get_currentuserinfo(); $value1 = $current_user->ID; // 插入investment表记录,关联userid外键 $output = $wpdb->insert( 'investment', array( 'userid' => $value1, 'capital' => $fields['capital'], 'commission' => $fields['commission'], 'date' => $fields['date'], 'upliner' => $fields['upliner'] ) );
关键说明
userid是investment表的外键字段,直接传入当前用户ID$value1,就能实现与user表的关联(需确保$value1对应的用户ID在user表中存在,否则会触发数据库外键约束报错)。status字段已设置默认值0,插入时无需手动传入,数据库会自动填充;如果需要指定其他状态值,可在数组中追加'status' => 目标状态值。
版本兼容提示(WordPress)
get_currentuserinfo()是较旧的WordPress函数,在WordPress 4.5及以上版本推荐使用更简洁的wp_get_current_user()替代:
$current_user = wp_get_current_user(); $value1 = $current_user->ID;
内容的提问来源于stack exchange,提问作者OKTV Plus
相关产品推荐
相关产品推荐

