在codeigniter中使用AND&OR条件更新查询

I want to update query in code-igniter framework with AND & OR condition. Below is simple query:

UPDATE tbl_test SET name='test' WHERE id=1 AND (fname='r1' OR fname='r2');

Below is CodeIgniter syntax i tried:

$updateData_next_schdule['name'] = 'test';
$this->db->update('tbl_test', $updateData_next_schdule, array('id' => 1, ['fname' => 'r1','fname' => 'r2']));

But it is not working as expected. Please help on this.

I think you'll have to change your code to use the QueryBuilder

$this->db->where('id', 1)
$this->db->and_group_start()
$this->db->where('fname', 'r1')
$this->db->or_where('fname', 'r2')
$this->db->group_end()
$this->db->set('name','test');
$this->db->update('tbl_test');

//Check the query
var_dump($this->db->last_query());

You can also try

$this->db->query("UPDATE tbl_test SET name='test' WHERE id=1 AND (fname='r1' OR fname='r2')");