我们需要提取特定字段,无论它们是否有数据。
如果我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等,并仅从这些字段中获取数据。
答案 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!";
}
}