我正在尝试清理和优化我的到来我在podio的API上运行。我目前正在做的是使用过滤器查询从一个应用程序返回一个集合。然后我循环遍历该集合。在每个项目上,我使用Podio get_field_value返回引用应用程序中字段的值。这会产生很多API调用。我想在一个API调用中检索所有内容这是我当前代码的简单版本:
$collection = PodioItem::filter(WHSE_ID, array(
"filters" => array(
WHSE_EQUP_STATUS => array(2),
),
"sort_by" => WHSE_LOAD_IN,
"sort_desc" => false,
"limit" => 50
)
);
foreach ($collection as $item) {
// Table-A ID
$whId = $item->item_id;
// Referenced App Item(s)
$nucId = $item->fields[0]->values[0]->item_id;
// Get Referenced App Item Field
$app_b_value = PodioItem::get_field_value($nucId, NUC_LOAD_OUT);
echo $app_b_value;
}
有更有效的方法吗?我正在考虑在mysql查询中使用JOIN的方式。
感谢您提供任何帮助!
答案 0 :(得分:0)
如果您尝试从过滤后的收藏品中获取每件商品的价值,那么您每次都不需要拨打podio电话。
Podio过滤器调用将为您提供值。你只需要从每个项目中获得价值。
喜欢以下
foreach ($podioFilterData['items'] as $itemData) {
$itemFields = $itemData['fields'];
foreach ($itemFields as $field) {
$value = $field['values'][0];
}
}