2012-01-17 43 views
0

我有一個名爲$zip_in_distance學說foreach查詢 - 出了什麼問題?

Array ([0] => Array([zip] => 12345, [distance] => 12345)). 

如果我要打印$value[zip]一個數組,它是正確的。但是我得到一個空陣列。當我不使用foreach循環並手動執行查詢時,它正在工作。我究竟做錯了什麼?

$shop = array(); 
    foreach ($zip_in_distance as $key => $value) { 

    $q = Doctrine_Query::create() 
       ->from('market m') 
       ->where('m.zip = ? ', $value['zip']) 
       ->execute(); 

    $shop[] = $q; 
    } 
    return $shop; 

我的模板:

foreach ($shops as $key => $list) { 
    echo $key . $list['id'] . '<br>'; 
} 

我有比每郵編市場更多。提前致謝!

Craphunter

回答

0

爲什麼要使用foreach? 嘗試類似這樣:

return MarketTable::getInstance() 
    ->whereIn('m.zip', array_map(
    function($element) {return $element['zip'];}, 
    $shop 
)) 
    ->execute();