Ok, tusil som, ze to zacne byt uz trosku chaoticke...
Mam jedno pole objektov $objPages[]. Tieto objekty su triedy Pages, ktora okrem ineho ma v clenskej premmenej menu_category cisla. Tieto cisla su ID cisla kategorii.
class Pages {
...
var $menu_category;
...
function Pages($a, $b, $c, $d, $e, $f, $g, $h, $i, $j, $k, $l) {
...
$this->menu_category = $e;
...
}
function get_menucat() {
return $this->menu_category;
}
}
Ich nazvy su ulozene v objektoch triedy Menu_Category, ktore su ulozene v poli $objMenu_cat[]
class Menu_Categories {
var $id_category;
var $name;
var $position;
function Menu_Categories($id_category, $name, $position) {
$this->id_category = $id_category;
$this->name = $name;
$this->position = $position;
}
function get_name() {
return $this->name;
}
}
V inom skripte chcem vypisat obsah objektov triedy Pages a spolu s nimi aj nazvy kategorii kam patria. Tie nazvy su ulozene v objektoch triedy Menu_Category.
Na vypis pouzivam
foreach($objPages as $p) {
echo $objMenu_cat[$p->get_menucat()]->get_name();
}
ale toto vrati iba chybu na riadku kde je echo: Fatal error: Call to a member function get_name() on a non-object...
Ale ked to zmenim na echo $objMenu_cat[1]->get_name();
, tak to prebehne v poriadku
--------------------------------------
A uz aj viem preco... Tie objekty su naplnane udajmi z databazy a kazdy riadok v nej ma svoje ID a to zacina od 1. A pole zacina od 0. A ja som namiesto iterovania nejakeho $j zacinajuceho od 0 pri vytvarani objektov daval ako indexy prave tie ID. Preto ked foreach zacal hladat objekt s indexom 0, tak ho nenasiel a skript zastavil...
Toto uz pisem iba pre niekoho, kto by mal podobny problem a nevedel si pomoct.
hrach, dakujem za pomoc :)