Nette 2.1 RC – Context – getLastInsertId()

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

Testuji Nette 2.1 RC a narazil jsem na problem, zmenil jsem pripojeni v modelu na Nette\Database\Context, vse funguje jak ma, akorat jsem narazil na problem, ze zde chyby getLastInsertId();

public function __construct(Nette\Database\Context $database,
 			Nette\Http\Session $session)
{
	$this->db = $database;
	$this->session = $session;
}

public function test($data)
{
	$this->db->query("INSERT INTO menu", $data);
	return $this->db->getLastInserId();
}
Kdyz jsem to pouzival, pred cca 3 mesici na nette-dev pomoci Nette\Database\Connection, tak vse fungovalo. Muzete mi nekdo poradit, jak ted zjistim LastInsertID z INSERTu.
Diky.
hrach
Člen | 1844
+
0
-

$connection->getConnection()->getInsertId()
https://api.nette.org/…ion.php.html#…

ale asi by to chtelo pridat do kontextu…

lukin
Člen | 12
+
0
-

hrach napsal(a):

$connection->getConnection()->getInsertId()
https://api.nette.org/…ion.php.html#…

ale asi by to chtelo pridat do kontextu…

jj, to by chtelo… to je jasne, ale je to obchazeni, kdyz vetsina metod byla v nette\databases\connection depricated :) tak nepocitam, ze by jedna tam zustala…

To uz je pro me lepsi to udelat pres transakce a pouzit

$this->db->query("INSERT INTO menu", $data);
$id = $this->db->query('SELECT LAST_INSERT_ID()')->fetchField();

Prosim tedy, o pridani i do Nette\Database\Context, pokud to pujde.

David Grudl
Nette Core | 8282
+
0
-

Last insert ID by spíš měl vracet ResultSet, ne? Něco jako $id = $db->query("INSERT INTO menu", $data)->getLastId().

lukin
Člen | 12
+
0
-

Ano, jen by bylo ho potřeba přidat do Nette\Database\Context

David Grudl
Nette Core | 8282
+
0
-

Fixed