registracny formular – ukladanie dat do viacerych tabuliek
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- cujan
- Člen | 410
Caute, potrebujem vyriesit jeden problemik:
mam registracny formular, kde v jednom forme uzivatel registruje seba a organizaciu, ako riesite ukladanie udajov do viacerych tabuliek naraz? A ako riesite, aby sa napr. organizacia ulozila prva a potom nasledne pri vkladani clena idOrganizacia sa ulozilo id prave registrovanej organizacie?
vdaka
- CZechBoY
- Člen | 3608
Nevim přesně s čím máš problém (syntaxe, exception, …) tak ti rovnou ukážukod jak to dělám já v Nette\Database\Table
class Registrace
{
public function __construct(Nette\Database\Context $db)
{
$this->db = $db;
}
public function registruj(array $data)
{
$organizace = $data['organizace'];
$uzivatel = $data['uzivatel'];
$this->db->beginTransaction();
try {
$vlozenaOrganizace = $this->db->table('organizace')
->insert($organizace);
$uzivatel['idOrganizace'] = $organizace->idOrganizace;
$vlozenyUzivatel = $this->db->table('clen')
->insert($uzivatel);
} catch (Nette\Database\DriverException $e) {
$this->db->rollback();
throw $e;
}
$this->db->commit();
}
}