0

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

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

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

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

当我们没有从字段徽标中获得返回时 - 数组输出的结构不是以某种方式构造的,因此我们可以获取我们需要的数据。

我们如何做到这一点?


添加文本

打印输出的粗略示例:

items[0] = Companyname,Logo,Address,Phone,Country(Logo 中有数据)

items[1] = Companyname,Address,Phone,Country,ContactPerson(徽标中没有数据)

items[2] = 公司名称、地址、电话、国家

出现的问题

items[2][4] 不存在(但我不知道)

items[0][2] 是地址字段(但我不知道)

items[1][2] 是电话字段(但我不知道)

寻找公司联系人 [x][4] 项目将结束于

[0] = 错误(国家)

[1] = 正确数据 (ContactPerson)

[2] = PHP 错误

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

4

1 回答 1

1

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

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

$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!";
  }
}
于 2014-02-07T15:41:54.043 回答