Database explorer jak změnit hodnotu při updatu?
- Allconius
- Člen | 317
Ahoj, dá se při update změnit původní hodnota v databázi jen přičtením nějaké hodnoty, nebo je potřeba nejprve vyselektovat původní hodnotu pak změnit a provést update ? Pokud to jde tak bych potřeboval syntax pro tento update bez nutnosti předchozího selektu původní hodnoty:
<?php
$count = $this->database->table($this->tabulka)
->where('id', $updateId) // must be called before update()
->update([
'cas' => [puvodni hodnota] + $values["cas"],
]);
?>
- Allconius
- Člen | 317
Allconius napsal(a):
Ahoj, dá se při update změnit původní hodnota v databázi jen přičtením nějaké hodnoty, nebo je potřeba nejprve vyselektovat původní hodnotu pak změnit a provést update ? Pokud to jde tak bych potřeboval syntax pro tento update bez nutnosti předchozího selektu původní hodnoty:
<?php $count = $this->database->table($this->tabulka) ->where('id', $updateId) // must be called before update() ->update([ 'cas' => [puvodni hodnota] + $values["cas"], ]); ?>
tak jsem to nakonec našel v nějakým staým vláknu:
<?php
'cas' => new \Nette\Database\SqlLiteral('cas + '.$cas_rozdil.''),
?>
- David Matějka
- Moderator | 6445
jen ten string neslepuj ručně, potencionálně otevíráš sql injection zranitelnost, použij parametry:
'cas' => new \Nette\Database\SqlLiteral('cas + ?', [$cas_rozdil]),