Chybová hláška–Entity was not found

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

Zdravím vás a žádám o radu.
Web na wedosu běžel v pohodě a nyní při pokusu o přihlášení vyhazuje.

Doctrine\ORM\EntityNotFoundException
Entity was not found.

Odkazuje to v souboru na… řádek 100

public function & __get($name)
        {
100:            $this->__initializer__ && $this->__initializer__->__invoke($this, '__get', array($name));

            return parent::__get($name);
        }

Má s tím někdo zkušenost, proč se tak mohlo stát a jak to vyřešit. Upozorňuji, že jsem v tu dobu nijak web nemodifikoval.

Filip Procházka
Moderator | 4668
+
+1
-

Povedlo se ti vytvořit proxy objekt, který obsahuje ID, které ale není v databázi. To se může stát například tak, že jsi nevhodně použil například getReference a uživatel ti podstrčil v URL jiné ID. Nebo jsi si to mohl sám sobě pod rukama smazat, před tím, než jsi proxy zinicializoval. Možností je spousta.

Každopádně s tak chabým reportem to jen tak nezjistíme. Potřebuješ zjistit, v kterém místě aplikace se ta entita vytvořila a pak přijdeš na to jak se tam to ID dostalo.

David Matějka
Moderator | 6445
+
0
-

Mohou to taky zpusobit filtry, stalo se mi to zrovna nekdy predevcirem :)

Maren
Člen | 23
+
0
-

ano taky to vyhodilo tu hlášku přibližně předevčírem, mohl by jsi být trochu konkrétnější? dělám hlavně s Nette database (na Doctrinu teprve nabíhám), ale toto potřebuji v jednom projektu pořešit.

David Matějka
Moderator | 6445
+
0
-

Pokud nevis, co jsou filtry, tak je asi nepouzivas.

Dale me napada – pouzivas innodb a mas spravne nastavene fk?

Maren
Člen | 23
+
0
-

Jde o to, že do úterý to fungovalo bez problémů a pak bez zásahu kohokoliv to vyhazuje tuto hlášku, tak se ptám, co to mohlo změnit? používám MyISAM

David Matějka
Moderator | 6445
+
+3
-

aha, tak to jsme doma. s myisam se ti mohou snadno dostat data do nekonzistentniho stavu – ze z jednoho mista odkazujes na neexistujici zaznam.

nejlepsi reseni: pouzij innodb a nastav fk