Doctrine foreach查询 - 出了什么问题?

时间:2012-01-17 18:26:58

标签: php symfony1 doctrine symfony-1.4 doctrine-1.2

我有一个名为$zip_in_distance

的数组
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

1 个答案:

答案 0 :(得分:0)

为什么要使用foreach? 尝试这样的事情:

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