2012-01-17 2 views
0

나는 내가 $value[zip]를 인쇄하기 위하여려고하는 경우 $zip_in_distanceDoctrine foreach 질의 - 무엇이 잘못 되었나요?

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

라는 배열을 가지고, 그것은 올바른 것입니다. 그러나 나는 빈 배열을 되 찾는다. foreach-loop를 사용하지 않고 수동으로 쿼리를 수행하면 작동합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

$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>'; 
} 

나는 우편 번호 당 시장에 이상이 없습니다. 미리 감사드립니다!

크라우 너

답변

0

왜 foreach를 사용합니까? 다음과 같이 시도하십시오.

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