lastInsertId() je 0 při použití DevNullStorage

před 9 měsíci

kminekmatej
Člen | 3
+
0
-

Narazil jsem asi na bug v Nette? Doufám že ne a jsem jen blbej :).

V Nette Testeru mám vyplé cachování:

services:
  cacheStorage:
    class: Nette\Caching\Storages\DevNullStorage

Následně přidám záznam do databáze:

$row = $this->database->table('todo')->insert($create);
var_dump($row);

Dumpne mi to FALSE.

Zjistil jsem že když mám DevNullStorage tak po vložení záznamu do databáze, Nette DBEx volá SHOW FULL TABLES ve funkcích Nette\Database\Structure::needStructure()Nette\Database\Structure::loadStructure()Nette\Database\Drivers::getTables()
Po provedení tohoto příkazu pak přímo PDO na lastInsertId() vrací 0

Sranda je že ten záznam se ve skutečnosti vytvoří. Pouze lastInsertId() selže a proto metoda insert() vrátí FALSE

Editoval kminekmatej (22. 5. 2019 16:04)