2010-09-03 137 views
0

我創造如下表方法以提取某些特定的表列,使以後的比較對存儲在數組的值的表中獲取的特定列:DQL查詢從

public function findAllComposedExcelColumns() 
    { 
    $q = Doctrine_Query::create() 
     ->select('p.branch_code, p.state_id, p.state_description, p.account, p.client_name') 
     ->from('Process p'); 

    return ($q->fetchArray()); 
    } 

但是,當我打印元件它還有屬性id這是不需要的。

Array ([0] => Array ([id] => 1 [branch_code] => ... [state_id] => ... [state_description] => ... [account] => ... [client_name] => ...)) 

爲什麼id也出現在結果上?有什麼辦法可以刪除它?

+0

如果你不需要它,不要使用它。 Doctrine處理查詢並返回結果時總會發送大量信息。我假設你要循環查看結果,所以如果不需要id,就把它留在循環中。 – DrColossos 2010-09-03 17:57:59

+0

@DrColossos問題是泰勒 – 2010-09-05 15:04:19

回答

0

嘗試與HYDRATE_SCALAR保溼 - 它可能會給你你想要的。

例如,

public function findAllComposedExcelColumns() 
    { 
    $q = Doctrine_Query::create() 
     ->select('p.branch_code, p.state_id, p.state_description, p.account, p.client_name') 
     ->from('Process p'); 
    $output = $q->execute(array(), Doctrine_Core::HYDRATE_SCALAR); 
    return $output; 
    } 

編輯:

注意,這也將改變你的數組鍵,

例如,從[ 'branch_code'],用這種類型的[ 'p_branch_code']

有相關記錄時,水合法也不理想。

總而言之,以上實現您的這個情景的目標。但是,我同意DrColossos最好是簡單地循環並忽略不需要的數據。