vi this en el foro CodeIgniterCodeIgniter - Base de datos: cómo actualizar varias tablas con una sola consulta de actualización
Teniendo en cuenta el código de abajo
UPDATE a
INNER JOIN b USING (id)
SET a.firstname='Pekka', a.lastname='Kuronen',
b.companyname='Suomi Oy',b.companyaddress='Mannerheimtie 123, Helsinki Suomi'
WHERE a.id=1;
Ésta es la forma en que le aparentemente hacerlo en CodeIgniter
$this->db->set('a.firstname', 'Pekka');
$this->db->set('a.lastname', 'Kuronen');
$this->db->set('b.companyname', 'Suomi Oy');
$this->db->set('b.companyaddress', 'Mannerheimtie 123, Helsinki Suomi');
$this->db->where('a.id', 1);
$this->db->join('table2 as b', 'a.id = b.id');
$this->db->update('table as a');
Esto no funciona en la realidad. He echado un vistazo al SQL que esto produce y los resultados ni siquiera mencionan la unión.
¿Alguien tiene alguna idea de cómo hacer una actualización con una unión utilizando la clase Active Record Database de Codeigniter?
Pensé que podría salvar a alguien en algún momento. Necesita usar la "tabla como", de lo contrario, CodeIgniter intenta escapar de las tablas y falla. –