2011-11-02 22 views
1

存在我有這樣的查詢,例如:Zend Framework的檢查,如果列一個結果

$dbAdapter = Zend_Db_Table::getDefaultAdapter(); 
    $query_Group = $dbAdapter->select(); 
    $query_Group->from(array('FI' => 'request_field'), 
         array('*')); 


    $resultRows = $dbAdapter->fetchAll($query_Group); 

好了,現在我怎麼能知道,如果$ resultRows裏面有列「標籤」,例如? 我知道我能做到這一點:

foreach($resultRowsas $key => $Field) 
    { 
     if(isset($Field['Label']) 
     { .... } 
    } 

但是,如果有可能,我希望它不知道它循環....

這是可能的嗎?

再次感謝....

回答

0

$Field['Label']將始終設置。它可能是空的,但會一直設置! 如果你想所有記錄的值爲NULL,適當地改變你的查詢

+0

謝謝您的回答......我想我迷惑你我的例子......揣摩......我有這樣的:$ resultRows = $ dbAdapter->使用fetchall($ query_Group);我的問題是:我如何知道女巫專欄是在這個resulset:$ resultRows?例如,我需要soemhing像:columnexist($ resultRows,'Label')...有沒有這樣的功能?再次感謝... – Samuele

+0

引用@dinopmi的答案! – JellyBelly

0

如果我理解正確,你想知道給定列是否存在在表中。在這種情況下,您可能會爲此調用describeTable()方法。

您可以在Zend_Db_Adapter documentation中看到說明。

如果該列是在表模式中定義的,那麼您需要像@JellyBelly所說的那樣查詢適當的值,如NULL。在這種情況下,他的答案就是你需要的。

希望幫助,

+0

感謝您的回答...但我不明白如何檢查它...試圖找出...我有這個:$ resultRows = $ dbAdapter-> fetchAll($ query_Group);我的問題是:我如何知道女巫專欄是在這個resulset:$ resultRows?例如,我需要soemhing像:columnexist($ resultRows,'Label')...有沒有這樣的功能?再次感謝... – Samuele

+1

在這種情況下,結果行集中的所有行必須具有相同的列。你只需要得到第一個,並檢查它包含的列: $ firstRow = $ resultRows-> first(); $ firstRowArray = $ firstRow-> toArray(); (isset($ firstRowArray ['Label'])){ ... etc ... }如果(isset($ firstRowArray ['Label'])){ ...等等 } – dinopmi