views:

47

answers:

3

Hi There,

I have an object that looks like this when outputted via a print_r

   Array
     (
         [178] => My_Model_Category Object
        (
            [autoGenerateURLNameIfNotSupplied] => 1
            [id] => 178
            [name] => Just for Kids
            [date_created] => 2010-04-06 16:08:40
            [last_updated] => 2010-06-29 10:29:50
            [user_id_updated] => 0
            [_table] => 
            [_aliases] => Array
                (
                    [id] => 178
                    [name] => Just for Kids
                    [date_created] => 2010-04-06 16:08:40
                    [date_updated] => 2010-06-29 10:29:50
                    [user_id_updated] => 0
                    [parent_id] => 
                    [url_name] => just-for-kids
                    [description] => 
                    [image_id] => 
                    [image_id_teaser] => 109
                    [cat_usage] => recipes
                    [rank] => 
                    [note] => 
                )

            [_nonDBAliases] => Array
                (
                )

            [_default] => Array
                (
                )

            [_related] => Array
                (
                    [_related] => Array
                        (
                            [image] => stdClass Object
                                (
                                    [key] => image
                                    [group] => _related
                                    [foreignKey] => image_id_teaser
                                    [indexName] => id
                                    [tableName] => jm_asset
                                    [objectName] => Common_Model_Asset
                                    [userFieldlyColName] => name
                                    [criteria] => id='{%image_id_teaser%}'
                                    [sqlPostfix] => ORDER BY rank ASC
                                    [populateOnLoad] => 1
                                    [objects] => Array
                                        (
                                            [109] => Common_Model_Asset Object
                                                (
                                                    [id] => 109
                                                    [name] => 
                                                    [date_created] => 2010-03-29 15:07:25
                                                    [last_updated] => 2010-03-29 15:07:25
                                                    [user_id_updated] => 0
                                                    [_table] => 
                                                    [_aliases] => Array
                                                        (
                                                            [id] => 109
                                                            [name] => 
                                                            [date_created] => 2010-03-29 15:07:25
                                                            [date_updated] => 2010-03-29 15:07:25
                                                            [user_id_updated] => 0
                                                            [asset_usage] => 
                                                            [url] => /x/img/dyn/recipe/my-recipe-26-image.jpg
                                                            [type] => recipe_image
                                                            **[filename] => my-recipe-26-image.jpg**
                                                            [fileext] => .jpg
                                                            [filesize] => 
                                                            [width] => 250
                                                            [height] => 250
                                                            [scale] => 
                                                            [rank] => 
                                                            [note] => 
                                                        )   


 )

I am trying to access the image file name (see the starred entry), I have tried this currently to no avail,

print_r($this->recipeCategories->_related->_related->images);
A: 
$this->recipeCategories->_related['_related']['image']

or (hard to tell what's what exactly in what you posted):

$this->recipeCategories[178]->_related['_related']['image']

_related is an array, you can't access it like an object. Just carefully follow what you see in your print_r output. If it says Object, you need to access children with ->, if it says Array, use [].

deceze
A: 

It's a wild mixture of arrays and objects. To get the objects property of the image object, use

Try

 print_r($this->recipeCategories[178]->related["_related"]["image"]->objects);
Pekka
A: 

Try reorganized your code to use getters and setters, your internal structure is a mess and it will only get messier with time. http://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members

Quamis