仅从Podio项目过滤器输出特定文件

时间:2014-02-07 13:29:35

标签: php filter podio

我们需要提取特定字段,无论它们是否有数据。

如果我f.ex.想要一个只带有外部id字段的putput:'logo'我正在尝试这个:

 $limit = 10;
 $app_id = xxxxxxx;
 $items = PodioItem::filter($app_id,array('Limit' => $limit,'external_id' => 'logo'));

在podio中并非所有字段都被填写,结果是我们没有获得字段'logo'的返回值。

当我们没有从字段徽标返回时 - 数组输出的结构不是那么我们可以获取所需的数据。

我们如何实现这一目标?


添加了文字

粗略打印输出示例:

项目[0] =公司名称,徽标,地址,电话,国家/地区 (有Logo的数据)

项目[1] =公司名称,地址,电话,国家/地区,ContactPerson (徽标中没有数据)

项目[2] =公司名称,地址,电话,国家/地区

引发问题

项目[2] [4]不存在(但我不会知道)

项目[0] [2]是地址字段(但我不知道这个)

项目[1] [2]是电话领域(但我不知道这个)

寻找公司联系人[x] [4]交叉项目将以

结束

[0] =错误(国家/地区)

[1] =正确数据(ContactPerson)

[2] = PHP错误

与SQL一样,我会使用coloumn_name_1,coloumn_name_2等,并仅从这些字段中获取数据。

1 个答案:

答案 0 :(得分:1)

PodioItem对象具有项目字段的集合。正如您所指出的那样,只包含具有值的字段(因为包含空字段是多余的)。如您所知,您无法通过数组偏移量可靠地访问字段。

您应该通过field_id或external_id访问它。这些是唯一标识符。为此,您可以在PodioItem对象上使用field方法:

$items = PodioItem::filter(...);
foreach ($items['items'] as $item) {
  // Get field with external_id "logo". You can also pass in field_id
  $field = $item->field('logo');

  if ($field) {
    print "Found a logo field!";
  }
}