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
+
0
-

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
+
0
-

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();
	}
}