Nette database update upravenymi daty ze stejne tabulky

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
saimons
Člen | 293
+
0
-

Jak udelam pomoci prikazu Nette database tento update?

Tohle chci:

UPDATE `strankainfo`
SET `poradi` = `poradi` - 1

Nejak takto jestli to jde?:

$this->database->table('strankainfo')->update(Array('poradi' => 'poradi' - 1));
Nox
Člen | 378
+
0
-

Takto přesně ne, ale zkus zaměnit tu hodnotu v poli za SqlLiteral možná…

saimons
Člen | 293
+
0
-

Diky, ono uz to tady je, spatne jsem poprve hledal. tady

saimons
Člen | 293
+
0
-

Jeste mam teda jeden problem a to si teda pripadam, ze jsem asi uplne slepej, ale nejde mi tohle:

$this->database->table('strankainfo')
	->update(Array('poradi' => new \Nette\Database\SqlLiteral('poradi + 1')))
	->where('strankaprvek_id', $strankaprvek_id);

Call to a member function where() on a non-object

Editoval saimons (19. 12. 2011 19:37)

petr.pavel
Člen | 535
+
0
-

Zkusil bych prohodit volání update() a where(). Tj.:
$this->database->table(...)->where(...)->update(...)

saimons
Člen | 293
+
0
-

Diky, jak je clovej zvyklej, ze se where dava v SQL na konec, tak me vubec nanapadlo, ze by to melo byt jinak. :)