【问题标题】:Codeigniter Call to a member function where() on boolCodeigniter 调用 bool 上的成员函数 where()
【发布时间】:2022-01-15 13:08:15
【问题描述】:

我尝试将 seen 设置为数据库中的任何联系人数据,但是当我尝试这样做时:

public function showMessage($id){
        $this->load->model('Message_Model');
        $messageData = $this->Message_Model->selectMessage($id);
        if($messageData[0]->messageIsSeen == 0){
            $this->Message_Model->setSeenToMessage($id);        
        }
        $data = array('messageData' => $messageData[0]);
        $this->load->view('Back/MessageDetail', $data);
    }

型号:

function setSeenToMessage($id){
        $this->db->update('messages', array('messageIsSeen' => 1))->where('messageId', $id);
        return 1;
    }

它会抛出该错误

【问题讨论】:

    标签: codeigniter-3


    【解决方案1】:

    我就这样解决了

    function setSeenToMessage($id){
            $this->db
                 ->where('messageId', $id);
                 ->update('messages', array('messageIsSeen' => 1))
    
            return 1;
        }
    

    虽然如此,我还是不知道它是如何工作的

    【讨论】:

    • 您必须在$this->db->update 之前使用$this->db->where()。您收到 bool 值是因为您的查询有错误。看看here。顺便说一句,它应该是:$this->db->update('messages', array('messageIsSeen' => 1)) 在你的代码中
    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多