模块
function update($id)
{
$this->db->where('id',$id);
$this->db->update('table', 'status=1');
}
控制器
function test()
{
$this->load->model('model');
$this->mdl_banners->update('1');
}
我尝试手动更新数据库的列。我尝试了上面的方法,但它没有用。请帮帮我。
答案 0 :(得分:0)
如果模型的名称是mdl_banners,那么控制器代码必须如下所示:
$this->load->model('mdl_banners_model');
$this->mdl_banners_model->update('1');
加载必须加载模型名称后跟下划线,稍后对函数调用也一样。
Malik的正确答案也指出了另一个问题,你需要传递一个数组来更新():
$this->db->update('table', array('status'=>1));
答案 1 :(得分:0)
$table='tableName'; // or get it as parameter in function
$data=array('status'=>1);
$this->db->WHERE('$id',$id);
$this->db->update($table, $data);
下面是我在我的一个项目中使用它的实时示例
public function updatePage($data,$menuId)
{
$item=array(
'slug'=>$data['slug'],
'content'=>$data['content']
);
$this->db->WHERE('id',$menuId)->update('pages',$item);
}
答案 2 :(得分:0)
//控制器
function test()
{
$this->load->model('mdl_banners');
$this->mdl_banners->update('1','1');
}
//模型
function update($id,$s)
{
$data=array('status'=>$s);
$this->db->WHERE('$id',$id);
$this->db->update(table, $data);
}
试试这个..