Update DB – nevypisování každého dotazu zvlášť
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- sd
- Člen | 87
Zdravím,
mám formulář na úpravu článku, do kterého se mi vypíše z databáze
název, obsah, klíčová slova atd…
Když chci formulář uložit a změny ze všech polí zapsat do databáze
najednou, tak abych nepsal:
public function UpdateArticleFormSucceeded($form){
$values = $form->getValues();
$postId = $this->getParameter('postId');
$this->database->query('UPDATE posts SET title=? where id=?', $values->title, $postId);
$this->database->query('UPDATE posts SET content=? where id=?', $values->content, $postId);
$this->database->query('UPDATE posts SET keywords=? where id=?', $values->keywords, $postId);
}
Viděl jsem v QuickStartu toto: (ale nefungovalo mi to – chybu nevypsal a ani se nic nestalo)
$posts = $this->database->table('posts')->get($postId);
$posts->update($values);
Je nějaké řešení? Děkuji, sd
Editoval sd (23. 9. 2014 16:27)
- Michal Vyšinský
- Člen | 608
Ahoj,
$this->database->query('UPDATE posts SET ? WHERE id = ?', $values, $postId)