ntdb update dle hodnoty z jiného sloupce

sevca79
Člen | 55
+
0
-

Ahoj,
jak mám prosím v ntdb jednoduše udělat update sloupce dle hodnoty z jiného sloupce

něco jako

$this->database->table('table')
  ->where('id', 1)
  ->update(['sloupec1' => 'sloupec2']);

ale hodnotu, která je aktuálně uložená ve sloupci2??

díky za nápovědu

Editoval sevca79 (21. 2. 2018 15:42)

David Matějka
Moderator | 6445
+
+4
-

zkus

$this->database->table('table')
  ->where('id', 1)
  ->update(['sloupec1' => new Nette\Database\SqlLiteral('sloupec2')]);
sevca79
Člen | 55
+
0
-

super..to je přesně ono..
díky moc

orobinec
Člen | 1
+
0
-

Zdravím,

a jak by bylo možné na duplikovanou hodnotu aplikovat nějakou funkci, např. do 'sloupec1' kopírovat substr('hodnotasloupec2',0,5)?

Díky.

Editoval orobinec (10. 3. 2018 11:29)

IJVo
Člen | 38
+
0
-

orobinec napsal(a):

Zdravím,

a jak by bylo možné na duplikovanou hodnotu aplikovat nějakou funkci, např. do 'sloupec1' kopírovat substr('hodnotasloupec2',0,5)?

Díky.

Snad takhle

update(['sloupec1' => new Nette\Database\SqlLiteral('substr(`hodnotasloupec2`,0,5)')]);

Ale nezkoušel jsem to.
Edit: Název sloupce tabulky by měl být ve zpětných uvozovkách.

Editoval IJVo (10. 3. 2018 13:54)