Доктрина каждого запроса - что не так? - PullRequest
0 голосов
/ 17 января 2012

У меня есть массив с именем $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 голосов
/ 17 января 2012

Зачем вообще использовать foreach? Попробуйте что-то вроде этого:

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