tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

dibiRow přidání dalšího vlastního pole

před 6 lety

rumcais1
Člen | 75
+
0
-

Potřebval bych poradit. V NETTE procházím pole z dibi (fetchAll) přes foreach a při splnění podmínky to potřebuji rozšírit o vlastní pole. Ale hlásí mi to notice Undefined property: DibiRow::$promenna v function offsetGet($nm). Př.:

foreach ($dibiRow as $a=>$b ){
    if ($b['souvislost']!='') {
         $dibiRow[$a]['souvislosti']=1; //projde
         $dibiRow[$a]['souvislosti']['test']=1; //neprojde
    }
}

Editoval rumcais1 (5. 4. 2013 15:49)

před 6 lety

Milo
Nette Core | 1067
+
0
-

$dibiRow je jedna řádka, nebo všechny řádky? A tohle je přesně ta chybová hláška?

Undefined property: DibiRow::$promenna v function offsetGet($nm)

před 6 lety

rumcais1
Člen | 75
+
0
-

$dibirow jsou všechny řádky
chybová hláška je Notice
Undefined property: DibiRow::$souvislosti
File: …\libs\dibi\libs\DibiRow.php Line: 126
124: final public function offsetGet($nm)
125: {
126: return $this->$nm;
127: }

před 6 lety

Milo
Nette Core | 1067
+
0
-

A sloupec ‚souvislosti‘ tam určitě máš? Navíc, $dibiRow[$a]['souvislosti'] je skalár a ty k tomu přistupuješ jako k poli. Pokud chceš hodnotu sloupce nastavit na pole, tak třeba takhle:

$rows = $db->query(...)->fetchAll();
foreach ($rows as $row) {
    if (...) {
        $row->souvislosti = array('test' => 1);
    }
}

před 6 lety

rumcais1
Člen | 75
+
0
-

Ne nemám chci tam přidat jakoby sloupec, abych to pak mohl vypisovat v šabloně. Pracuji s tím jako s polem. Jsem začátečník možná to dělám špatně. Výstup má být tabulka a do jedné z buněk chci rekurzí dotahovat jiný dotaz. Proto to dělám. Díky