2010-06-29 80 views
1

我有一个对象时,通过print_rPHP访问对象的属性

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] => 
                 ) 


) 

我试图访问图像文件名(见星号的条目),我已经试过这个输出看起来像这样目前无济于事,

print_r($this->recipeCategories->_related->_related->images); 
+0

它看起来像来自ORM的对象。相应的文档应该揭示如何正确访问属性。我认为你不应该直接访问它们。 – 2010-06-29 10:05:50

回答

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

或(很难说什么是什么恰好你贴什么):

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

_related是一个数组,你不能像对象一样访问它。请仔细按照您在print_r输出中看到的内容。如果它说Object,您需要访问->的儿童,如果它说Array,请使用[]

1

这是数组和对象的混合物。为了得到image对象的objects属性,请使用

尝试

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