ziskanie id dvoch prvkov po odoslani formulara
- attika8
- Člen | 23
Ahojte,
prosím vás riešim taký problém, mám formulár na pridanie knihy klasicky(názov,autor,…, a na konci mam klučové slovo).
metoda AddFormSuceeded
function addFormSucceeded(Form $form)
{
$values = $form->getValues();
// $id = (int) $this->getParameter('id'); - vrati 0
dump($id);
dump($values);
$this->AdminFacade->Add($values->name,$values->author,$values->mediatype,$values->isbn,$values->publisher,$values->issue_number,$values->place,$values->page_count,$values->year,$values->language,$values->keyword);
$this->flashmessage('Záznam úspešne vložený');
$this->redirect('Admin:default');
}
v AdminFacade metoda Add :
function add($name,$author,$mediatype,$isbn,$publisher,$issue_number,$place,$page_count,$year,$language,$keyword)
{
$row = $this->database->table('book')->insert(array(
'name'=>$name,
'author'=>$author,
'mediatype'=>$mediatype,
'isbn'=>$isbn,
'publisher'=>$publisher,
'issue_number'=>$issue_number,
'place'=>$place,
'page_count'=>$page_count,
'year'=>$year,
'language'=>$language
));
$row = $this->database->table('key_word')->insert(array(
'word'=>$keyword
));
}
čo sa snažím zistiť je ako možem získať v metóde AddFormSucceeded
id_book a kedze zapisujem aj do tabulky key_word tak potrebujem zistit aj
id_key_word a spolu ich zapisat do tabulky book_key_word, aby som ich mal
prelinkované.
Momentalne mam zapisane v slovo v key_word a mam id tohto slova a mam aj
id_book a potrebujem ich spojit do tabulky. Da sa to spravit rovno v metode
AddFormSucceeded?
Viete mi prosim pomoct?
Dakujem.
- petr.pavel
- Člen | 535
Ve funkci add()
se podívej do $row
– hodnotu
primárního klíče ti tam doplní insert().
Jestli to nakonec potřebuješ v addFormSucceeded()
tak si to
vrať přes return :-)
Edit: Koukám, že v dokumentaci k Nette Database se to nedozvíš, takže musíš do dokumentace k NotORM, ze kterého NDB vychází.
Editoval petr.pavel (4. 3. 2013 14:09)