这里是我想要做的是否有可能使用Codeigniter的活动记录更新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);
}
“后”表需要左加入了与“数据”是什么。
当我运行上面的时候,我得到一个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语句。
有什么确切的错误信息?该列是否存在?它运行的是什么确切的SQL? – 2012-02-13 00:41:35
亚伦,列存在 - 只是发布更多的代码 - 让我知道你认为 – pepe 2012-02-13 01:16:00
合理的解决方案在这里 - http://stackoverflow.com/q/4830380/445142 – pepe 2012-02-13 02:01:51