2012-05-24 41 views
1

我想將product variations添加到使用Zend_Paginator的產品視圖表中。操作Zend_Paginator數據

有了這段代碼,我得到了我的產品。

$select = $productModel->select() ... (so on) 

有了這個代碼,我創建分頁程序

$adapter = new Zend_Paginator_Adapter_DbSelect($select); 
$paginator = new Zend_Paginator($adapter); 

而現在我想的product_variations添加到產品數據。我試圖做到這一點:

foreach($paginator as $key => $product) { 

    // get variations 
    $variations = $productModel->getProductVariants($product['ID']); 
    // overwrite $product add variations 
    $product['Variations'] = $variations; 
    $paginator->$key = $product; 

} 

但在我看來,控制器只會顯示product_data。數組(Variations)缺失。

我該如何處理?

TIA FRGTV10

回答

2

看到這個:Adding items to a paginator already created

foreach($paginator as $key => &$product) { 
    // get variations 
    $variations = $productModel->getProductVariants($product['ID']); 
    // overwrite $product add variations 
    $product['Variations'] = $variations; 
} 
unset($product); 

通知的&foreach() - 通過引用傳遞。然後您更改引用的$product,並且不需要將任何內容分配回$paginator

+1

爲了讓它更像Zend,創建你自己的適配器並擴展getItems()方法 - 就像這裏描述的那樣:http://framework.zend.com/manual/en/zend.paginator.usage.html#zend.paginator .usage.dbselect並在這裏回答:http://stackoverflow.com/questions/4146158/zend-paginator-return-as-objects(偉大的,直接的例子),這是非常簡單的。 – jkulak