从PodioItem :: get获取file_ids子数组

时间:2017-12-01 21:55:24

标签: php podio

我试图下载附加到特定项目的所有文件,但是我无法从返回的项目对象访问file_ids子数组。我能够访问它的几乎所有其他部分,比如item_id,但出于某种原因,当我尝试从file_ids中获取任何内容时,它什么都不返回。

$item = PodioItem::get( ######### );

//this works
print $item;
//this works
print "item_id is: ".$item->item_id."\n";
//this returns 0, should return 20
print "file_ids count: ".count($item->file_ids)."\n";
//this returns nothing, should return a file_id
print "file_ids[0] is: ".$item->file_ids[0]."\n"; 

这是输出:

> Array (
>     [item_id] => #########
>     [external_id] => share_#########
>     

>     .
>     .
>     .
> 
>     [file_ids] => Array
>         (
>             [0] => #########
>             [1] => #########
>             [2] => #########
>             [3] => #########
>             [4] => #########
>             [5] => #########
>             [6] => #########
>             [7] => #########
>             [8] => #########
>             [9] => #########
>             [10] => #########
>         )

> 
> ) 

>item_id is: #########  
>file_ids count: 0  
>file_ids[0] is:

非常感谢任何帮助。我一直绞尽脑汁和互联网,为什么我可以得到除file_ids之外的所有内容。

1 个答案:

答案 0 :(得分:0)

我没有在API调用Podio的响应中看到files_ids数组。我用的是podio-php v4.3.0。 PodioItem对象具有files属性,该属性是PodioCollection类型的对象。您可以直接访问其属性。例如:

/** @var PodioItem $item */
$item = PodioItem::get_by_app_item_id($appId, 1);
/** @var PodioFile $curFile */
foreach ($item->files as $curFile) {
    echo $curFile->name;
}