问题
Morning guys,
I would like to update multiple row using explode function and where in for code igniter, but the problem is, all rows all updated.
here is my controller :
$ids = explode(',', $this->post('id'));
$this->chatmod->update(array('id'=>$ids),$data);
my model :
public function update($ids=null,$data=null)
{
$this->db->where_in($ids);
$this->db->update($this->table, $data);
return true;
}
回答1:
For updating using column id you need to pass the column name in the where_in
function like $this->db->where_in("id",$idarray);
For your code Try the below code:
public function update($ids=null,$data=null)
{
$this->db->where_in('id',$ids);////Pass the column name of the database as first argument.
$this->db->update($this->table, $data);
return true;
}
回答2:
The where_in
query should be supplied with target column, like :
$ids = explode(',', $this->post('id'));
$this->chatmod->update($ids,$data);
public function update($ids=null,$data=null)
{
$this->db->where_in('id', $ids);
$this->db->update($this->table, $data);
return true;
}
来源:https://stackoverflow.com/questions/49727259/multiple-update-using-explode-where-in-codeigniter