我想在一次执行中更新2个数据库表,如果我使用SQL
,我可以简单地创建一个query
$sql = "UPDATE produto SET descricao = 'desc', estoque = '2', preco = '2.00';
UPDATE table2 SET col1 = 'val1', col2 = 'val2', col3 = 'val3';
// and more operations in only database access
";
但在codeigniter
我只能执行此代码:
$data = array(
'descricao'=>$dados[ 'descricao' ],
'preco_custo'=>$dados['preco_custo'],
'estoque'=>$dados['estoque']
);
$this->db->where( 'id', $dados[ 'id' ] );
$this->db->update('produto', $data );
如果我需要执行任何其他操作,我需要再次访问数据库?或者有任何解决方案只使用Codeigniter
方法执行更多操作??
答案 0 :(得分:2)
如果您想要多次更新,您应该使用交易
http://ellislab.com/codeigniter/user-guide/database/transactions.html