Vložení dvou řádku do dvou tabulek, kde data v jedné jsou závislé na ID druhé

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Webster.K
Člen | 212
+
0
-

Zdravím všechny, reším drobnost. Potřebuji do dvou tabulek vložit data, do té první je to několik údajů a do té druhé jen dva, kde tím druhým je ID záznamu (který je zvyšován přes autoincrement) z té první tabulky, přesně to ID které jsem vložil. Kdysi když jsem nepoužíval nette jsem udělal 2× za sebou mysql_query(INSERT) s tím, že ten druhý jako hodnotu druhého sloupce měl funkci mysql_insert_id(). Jak toto udělat v nette? Tak aby to bylo správně i v případě, že bude zapisovat velké množství uživatelů? :)

Editoval Webster.K (25. 1. 2017 14:32)

johnnie
Člen | 54
+
0
-

Ahoj,

pri pouzivani nette database napr.

$post = $this->database->table('post')->insert([...]);

$category = $this->database->table('category')->insert([
	'post_id' => $post->id
]);
Webster.K
Člen | 212
+
0
-

Luxus :) přesně toto jsem potřeboval :)

artemevsin
Člen | 61
+
0
-

taky můžeš použít místo klasických autoincrement ID v databázi předem generované UUID (https://github.com/ramsey/uuid).
Tím pádem ještě než něco vložíš do DB, tak už předem víš, jaký to má ID.
Něco k tématu: https://www.clever-cloud.com/…rrible-idea/