Prečo mi nefunguje $this->database->table(‚t‘)->update($val)->where(‚id?‘, $postId)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Čamo
- Člen | 798
Brý večer,
vie mi prosím vás niekto vysvetliť, prečo sa nedá napísať príkaz:
$this->database->table('posts')->update($values)->where('id = ?', $postId);
Píše to chybu: „Call to a member function where() on a non-object“
Prečo to nejde, keď insert sa tak napísať dá(akurát nepotrebuje
where).
Takto sa to rieši v quickstarte a ja nechápem, prečo sa robia dva requesty
do DB(teda myslím že to tak je).
public function postFormSucceeded($form)
{
$values = $form->getValues();
$postId = $this->getParameter('postId');
if ($postId) {
$post = $this->database->table('posts')->get($postId);
$post->update($values);
} else {
$post = $this->database->table('posts')->insert($values);
}
...
Vidíte tam to insert? Prečo sa nedá rovnako napísať aj update?
Editoval Čamo (27. 5. 2014 19:22)