Манипулировать данными Zend_Paginator

Я хочу добавить product variations к моей таблице представления продукта, которая использует Zend_Paginator.

С этим кодом я получаю свои продукты.

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

С помощью этого кода я создаю paginator

$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

1 ответ

Решение

Смотрите это: добавление элементов в пагинатор уже создан.

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

Обратите внимание на & в foreach() - передать по ссылке. Затем вы измените ссылку $product и не нужно ничего присваивать обратно $paginator,

Другие вопросы по тегам