2016-06-07 118 views
0

取得列名是否有可能從查詢得到的列名,例如:從查詢結果

SELECT name AS EmployeeName FROM wh.employee 

是否有可能在返回結果得到EmployeeName。我目前的PHP代碼:

$result = $this->bigQueryService->jobs->getQueryResults($this->projectId, $jobId) 
$rows = $result->getRows(); 
if ($rows) { 
    foreach ($rows as $row) { 
     /** @var \Google_Service_Bigquery_TableCell $cell */ 
     foreach ($row["f"] as $cell) { 
      print $cell->getV(); 
     } 
    } 
} 

基本上,我想從查詢結果中獲得EmployeeName,這可能嗎?

+0

在泛型BigQuery API中,它位於queryResult.schema.fields中。不過,我不確定PHP庫是否有這個方法。我在github中找不到任何提到架構對象的東西。 – Barmar

回答

1

我現在一起去玩耍,所以我很簡單的例子是在圍棋:

fields := resp.Schema.Fields 
for i :=0 ; i < len(fields); i++ { 
    field := fields[i].Name 
    fmt.Println(field) 
} 

檢查schema of the result更多細節

我不是PHP的人,但我想應該是這樣的

$fields = $result->getSchema()->getFields(); 
$fieldNames = array(); 
foreach ($fields as $field) { 
    $fieldNames[] = $field['name']; 
} 
+0

Spot on:getSchema() - > getFields()是我需要的函數。 你也可以使用$ field-> getName()而不是$ field ['name'] – Vincent

+0

有意義:o) –