2014-02-07 29 views
0

無論是否有數據,我們都需要提取特定的字段。只輸出來自跑道項目篩選器的特定字符

如果我f.ex.想只能用外部ID領域的putput:「標誌」我試圖這樣的:

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

在波迪奧不是所有的字段填寫,其結果是,我們沒有得到現場返回值'商標'。

當我們沒有從字段標識獲得回報時 - 數組輸出沒有以某種方式構造,所以我們可以獲取我們需要的數據。

我們如何實現這一目標?


添加的文本

粗糙上打印輸出示例:

項[0] =公司名稱,標誌,地址,電話,國家 (具有標識數據)

項目[1] =公司名稱,地址,電話,國家,聯繫人 (徽標中沒有數據)

項[2] =公司名稱,地址,電話,國家

問題所產生

項[2] [4]不存在(但我不知道這一點)

條[0] [2]是地址字段(但我不知道這一點)

的[1] [2]是電話領域的(但我不知道這一點)

尋找公司聯繫人人[x] [ 4]翻過項目將在

[0] =錯誤的(國家)

[1] =右數據(ContactPerson)

[2] = PHP錯誤

像SQL結束,我會採取coloumn_name_1,coloumn_name_2等,並從這些領域抓取數據。

+0

您是如何處理導致問題的項目的? –

+0

在以上示例中添加了文字。 – Niels

回答

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!"; 
    } 
} 
+0

嗨Andreas。我得到了你的答案。毫無疑問,你對我的問題做出迴應真是太好了。我雖然打了一個問題,即數據的我需要處理量是相當大的。我看到您在文檔中的狀態,即緩存應適用何地possible.Is可以限制,如果我們仍然希望能夠接收完整的數據集所接收到的數據量..只是有限的數據量? – Niels