Oznámení
dibiRow přidání dalšího vlastního pole
před 6 lety
- rumcais1
- Člen | 76
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 | 1119
$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 | 76
$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 | 1119
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 | 76
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