簡體   English   中英

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

[英]Is it possible to UPDATE a JOINed table using Codeigniter's Active Record?

這是我想做的

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');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM