Nette 2.1 RC – Context – getLastInsertId()
- lukin
- Člen | 12
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
$connection->getConnection()->getInsertId()
https://api.nette.org/…ion.php.html#…
ale asi by to chtelo pridat do kontextu…
- lukin
- Člen | 12
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
Last insert ID by spíš měl vracet ResultSet, ne? Něco jako
$id = $db->query("INSERT INTO menu", $data)->getLastId()
.