You may also use the $this->db->set() function when performing updates to the database.
$this->db->where('id',$menu_ids[$i])
->set('menu_priority', 'menu_priority+1', FALSE)
->update($this->table['menu']);
set() will also accept an optional third parameter ($escape), that will prevent data from being escaped if set to FALSE. To illustrate the difference, here is set() used both with and without the escape parameter.