我有一个名为$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
答案 0 :(得分:0)
为什么要使用foreach? 尝试这样的事情:
return MarketTable::getInstance()
->whereIn('m.zip', array_map(
function($element) {return $element['zip'];},
$shop
))
->execute();