Манипулировать данными 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
,