微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 是否可以使用Codeigniter的Active Record更新JOINed表?

这是我想做的

function edit_save($data, $post_id, $user_id)
{
    $this->db->where('post.user_id', $user_id);
    $this->db->where('post.post_id', $post_id);
    $this->db->join('data', 'post.data_id_fk = data.data_id', 'left');
    $this->db->update('post', $data);
}

‘post’表需要与’data’保持联系.

当我运行上面的操作时,我收到一条sql错误,指出找不到“data”表中的一个字段.

有什么建议?

更多信息

这是生成SQL查询

UPDATE `post` 
SET `data_value` = '111', `data_date` = '2012-02-13', `post_text` = '111' 
WHERE `post_stream_id` =  '5' 
    AND `post_id` =  '18'

这是错误

UnkNown column 'data_value' in 'field list'

不显示JOIN语句.

解决方法:

尝试此活动记录查询以使用连接进行更新:

function edit_save($data, $post_id, $user_id)
{
    $this->db->set($data)
    $this->db->where('post.user_id', $user_id);
    $this->db->where('post.post_id', $post_id);
    $this->db->where('post.data_id_fk = data.data_id');
    $this->db->update('post, data');
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐