Возникли проблемы с библиотекой Codeigniter - PullRequest
0 голосов
/ 29 апреля 2011

Я работаю с библиотекой codeigniter MY_Model.php, в этой модели есть следующая функция,

public function update($primary_value, $data, $skip_validation = FALSE)
{
    $valid = TRUE;
    if($skip_validation === FALSE)
    {
        $valid = $this->_run_validation($data);
    }

    if($valid)
    {
        $this->skip_validation = FALSE;
        return $this->db->where($this->primary_key, $primary_value)
            ->set($data)
            ->update($this->_table);
    }
    else
    {
        return FALSE;
    }
}

Затем я выполняю функцию со следующим кодом,

$update = array('last_logged_in', date("Y-m-d H:i:s"));
            if($this->ci->users_model->update($query[0]['user_id'], array('last_logged_in', date("Y-m-d H:i:s"))))
            {
                $this->session->set_flashdata('success', 'You have successfully been logged in');
                switch($query['user_type_id'])
                {
                    case 1:
                        redirect('/candidate/dashboard');
                        break;

                    case 2:
                        redirect('/employer/dashboard');
                        break;

                    case 3:
                        redirect('/admin/dashboard');
                        break;
                }
            }

Однако я получаю следующие ошибки,

Произошла ошибка базы данных

Номер ошибки: 1054

Неизвестный столбец '0' в 'списке полей'

ОБНОВЛЕНИЕ users SET 0 = 'last_logged_in', 1 = '2011-04-28 21:06:51 ГДЕ user_id = '2'

Ответы [ 2 ]

0 голосов
/ 29 апреля 2011

Я думаю, вам нужно изменить это на следующее:

            if($this->ci->users_model->update($query[0]['user_id'], array('last_logged_in' => date("Y-m-d H:i:s"))))

Обратите внимание, что массив теперь ассоциативный - у вас там была запятая, делающая его проиндексированным.

0 голосов
/ 29 апреля 2011

Попробуйте изменить

array('last_logged_in', date("Y-m-d H:i:s"))

до

array('last_logged_in' => date("Y-m-d H:i:s"))
...