Undefined offset – Database/Table/Selection.php

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

Ahoj,
narazil jsem na takovy problemek. Nevim jestli je chyba u me ale vypada že ne :-( .
o co de:
Vygeneruje se sql dostat na select produktu nasledne klasika foreach vysledku dotazu a obevi se chyba: Undefined offset: xxx. A nejvetsi problem je v tom ze pri reloadu stranky tato chyba zmizi.

ladenka:

new.weltservis.cz/log/exception-2013–11–16–12–57–48–5535bad0265328c7da4fc007fe085cdf.html

Muze te se nekdo prosim kouknout kde by mohla byt chyba?


PHP 5.3.21
Apache
Nette Framework 2.0.12 (revision 80a7e46 released on 2013–08–08)

hrach
Člen | 1844
+
0
-

Prijde mi, ze link nejak nefugnuje. Chyba muze byt v tom, ze mas stable nette. U nej opravdu moc netusim, v jakem je v nem stav kodu. Idealni by bylo zkusit master… a hlavne, ukazku, co jak volas.

qwerin
Člen | 25
+
0
-

hrach napsal(a):

Prijde mi, ze link nejak nefugnuje. Chyba muze byt v tom, ze mas stable nette. U nej opravdu moc netusim, v jakem je v nem stav kodu. Idealni by bylo zkusit master… a hlavne, ukazku, co jak volas.

pardon link na ladenku: new.weltservis.cz/exception-2013–11–16–12–55–54-c5835c2079bdec261bd6186feb0abba9.html

Chyba muze byt v tom, ze mas stable nette. tohle me celkem pobavilo .. ale nasazeni dev verze se mi moc nechce ale asi mi nic jineho nezbyde

± ukazka:

<?php
 $all = $this->context->produktTable->whereBy(array("okvo" => 1, $this->kategorie->parametr => array_map('intval', explode(',', $this->kategorie->value))));

$this->filtr->setwhere($all); // prida where array se vsemi parametry
$this->sel = clone $all;   //dotaz se naclonuje pak se jeste modifikuje ale to se netyka problemu
$this->template->celkem = count($all);
$this->template->all = $all;
$this->template->page = $page;
$produktyResult = $all->limit($paginator->itemsPerPage, $paginator->offset);

$produktyResult->group("id_produkt");

        foreach ($produktyResult as $p) { // !!!CHYBA!! Undefined offset

            $produkty[] = new Produkt($p->id_produkt, $this->context->mysql->conn, new Nette\Caching\Cache($this->context->cacheStorage, 'produkty'), $p);
        }




?>

Editoval qwerin (19. 11. 2013 8:53)

MartinitCZ
Člen | 580
+
0
-

@**qwerin**: Na větě ‚Chyba muze byt v tom, ze mas stable nette.‘ není moc k pobavení. Je to totiž pravda. Nette\Database se v @dev hodně změnilo a hlavně začlo být „použitelné“! Nicméně pokud chceš mít klid, tak i tak je stále dibi lepší volba (Stále se něco v NDB mění). Minimálně než vyjde 2.1 ;)

Editoval martinit (18. 11. 2013 14:32)

qwerin
Člen | 25
+
0
-

Tak jo zda se ze problem se v dev 2.1 uz nezobrazil takze vsem dekuji za supr framework.

PS. dost my chybela jakakoli dokumtace jak prejit z connectoin->table na SelectionFactory->table .. je to ± stajne akorat je treba predat reflection v neon

<?php
produktTable: ProduktTable(Nette\Database\SelectionFactory(@nette.database.default,Nette\Database\Reflection\DiscoveredReflection(@nette.database.default)))
?>