1
Ist es möglich, Daten mit einer JOINed Tabellen mit Codingtiters Active Record CI2 zu aktualisieren? Ich habe laufenden Code und möchte in den Active Record von Codeigniter konvertieren.Wie aktualisiere ich Daten mit einer JOINed-Tabelle mit dem Active Record CI2 von Codeigniter?
public function update_table($job_id, $om_id, $recipient_id)
{
$query = "UPDATE table1 AS t1
INNER JOIN table2 AS t2
ON t1.om_id = t2.id
SET t2.read_date = NOW()
WHERE t2.ref_table_id = $job_id
AND t1.om_id = $om_id
AND t2.recipient_id = $recipient_id
AND t2.read_date = '0000-00-00 00:00:00'";
$result = $this->db->query($query);
return $result;
}
Ich versuche so, aber nicht funktioniert.
public function update_table($job_id, $om_id, $recipient_id)
{
$this->db->set('t2.read_date', NOW());
$this->db->where('t2.ref_table_id', $job_id);
$this->db->where('t1.om_id', $om_id);
$this->db->where('t2.recipient_id', $recipient_id);
$this->db->where('t2.read_date', '0000-00-00 00:00:00');
$this->db->where('t2.om_id = t1.id');
$this->db->update('table1 AS t1, table AS t2');
}
Jede Hilfe wird geschätzt. Dank
Ich denke, das ist nur die einfache Art und Weise auf CI, wo sollte ich die Join-Klausel setzen? –
@VonnGarcia hmmm, so weit ich weiß kann man 'join' nur verwenden, wenn man Daten auswählt ... man aktualisiert nur das' t2.read_date' ... also muss man im Grunde nur eine 'where-Klausel' ausführen 't1.om_id' da' om_id' bereits ein Fremdschlüssel auf deinem 'table2 ist, warum nicht direkt eine' where-Klausel' auf 't2.om_id' ... du machst es dir selbst schwer ... –