Nefunguje vícenásobné pole v podmínce u ->query()

pcs
Člen | 22
+
0
-

Nevíte náhodou někdo jak obejít to, že nefunguje převedení podmínky ve víceúrovňovém poli pro dotaz pomocí funkce query? Nemohu udělat klasický update přes tabulku, protože používám při updatu více tabulek přes JOIN, což standardní cestou nelze.

// select funguje
$condition['id = ? OR uid_id = ?'] = [1,1];
return $this->database->table('memo')->where($condition);

// takto update funguje
$condition['id = ? OR uid_id = ?'] = [1,1];
return $this->database->table('memo')->where($condition)->update(['memo' => 'xyz']);
// UPDATE `memo` SET `memo`='xyz' WHERE (`id` = 1 OR `uid_id` = 1)

// takto update nefunguje
$condition['id = ? OR uid_id = ?'] = [1,1];
return $this->database->query("UPDATE memo SET ? WHERE ?", ['memo' => 'xyz'], $condition);
// UPDATE memo SET `memo`='xyz' WHERE (`id` = IN (1, 1))
pcs
Člen | 22
+
+1
-

Tak už jsem to vyřešil:

$condition[] = $database::literal('id = ? OR uid_id = ?',1,1);
return $this->database->query("UPDATE memo SET ? WHERE ?", ['memo' => 'xyz'], $condition);

Editoval pcs (11. 5. 2018 14:10)