Php 从drupal视图提取数据未获取所有数据

Php 从drupal视图提取数据未获取所有数据,php,android,api,drupal,Php,Android,Api,Drupal,我在Drupal中有一个显示姓名、徽标、电话号码和电话类型的视图。我已经创建了一个php脚本来从视图中提取它,这样我就可以在android应用程序中运行它并将数据拉入其中(作为JSON)。我已经成功地创建了带有节点id和公司名称(标题)的JSON输出,但是当我试图获取电话信息时,我得到了空值,我附上了下面的代码 foreach($view->result AS $company) { $companylist = array(); $data = $company->

我在Drupal中有一个显示姓名、徽标、电话号码和电话类型的视图。我已经创建了一个php脚本来从视图中提取它,这样我就可以在android应用程序中运行它并将数据拉入其中(作为JSON)。我已经成功地创建了带有节点id和公司名称(标题)的JSON输出,但是当我试图获取电话信息时,我得到了空值,我附上了下面的代码

foreach($view->result AS $company) {
    $companylist = array();
    $data = $company->_field_data['nid']['entity'];
    $companylist['company'] = $company->node_title;
    $companylist['nid'] = $company->nid;
    $data2 = field_get_items('node',$data,'field_data_field_companyphone_node_entity_type');
    $phone  = entity_load('field_collection_item',array($data2[LANGUAGE_NONE][0]['value']));
    $companylist['type'] = $phone[0];
    $companylist['phone'] =$phone[1];   
    $return[]=$companylist;
}
   }
return $return;
  }

通过在我的代码中使用包装器,我最终找到了一个解决方案。我还为字段集合的每个循环创建了一个内部循环,希望这将在将来帮助其他人。下面包含了更新的代码

$fc_fields = field_get_items('node', $node, 'field_companyphone');
    if (!empty($fc_fields)){
        $field = field_view_value('node',$node, 'field_companyphone', $fc_fields[0]);
        foreach ($field['entity']['field_collection_item'] as $id => $field_collection){
            // load the field collection item entity
            $field_collection_item = field_collection_item_load($id);
            // wrap the entity and make it easier to get the values of fields
            $field_wrapper = entity_metadata_wrapper('field_collection_item', $field_collection_item);       


            // all values from a field collection
            $field_collection_phone_type_item   = $field_wrapper->field_companyphone_type->value(); // an array of phone type data  


            $companylist['type'] = $field_collection_phone_type_item->name;
            $companylist['phone']   = $field_wrapper->field_phone_phone->value();

        }
    }


    $return[]=$companylist;

3
}
对于1
{