Pracoval jsem pro Zend a konkrétně na Zend_Db docela dost.
Ne, pro ON DUPLICATE KEY UPDATE
neexistuje podpora API syntax. V tomto případě musíte jednoduše použít query()
a sami vytvořte kompletní příkaz SQL.
Nedoporučuji interpolovat hodnoty do SQL, jak ukazuje harvejs. Použijte parametry dotazu.
Upravit:Opakování parametrů se můžete vyhnout pomocí VALUES()
výrazy.
$sql = "INSERT INTO sometable (id, col2, col3) VALUES (:id, :col2, :col3)
ON DUPLICATE KEY UPDATE col2 = VALUES(col2), col3 = VALUES(col3)";
$values = array("id"=>1, "col2"=>327, "col3"=>"active");