База данных результатов Zend Framework

#php #zend-framework #zend-db #zend-db-table

#php #zend-framework #zend-db #zend-db-table

Вопрос:

Я выполняю запрос к базе данных таким образом:

         foreach ( $_SESSION['cart'] as $product )
        {
            $id = (int)$product['id'];

            $select = $this->table->select();
            $select->where("id=$id");

            $this->view->products = $this->table->fetchAll($select);

        }
  

И в представлении я сделал это таким образом:

     <?php foreach($this->products as $product) : ?>
    <tr>
        <td><img src="<?php echo $product->image;?>" width="190px"/><td>
        <td><?php echo $product->name;?><td>
        <td><?php echo $product->weight/1000 ?><td>
        <td><?php //echo $this->currency($product->price);?><td>
        <td>x<td>
        <td><input type="text" value="<?php echo $_SESSION['cart'][$product->id]['qtd'] ?>" /><td>
        <td><input type="submit" name="remove" value="Remover" /><?php echo $product->id; ?><td>
    </tr>
<?php endforeach; ?>
  

Но результаты равны нулю. Кто-нибудь может мне помочь?

—ОБНОВИТЬ—

Я пытался сделать это:

 $this->view->products = array();
    foreach ( $_SESSION['cart'] as $product )
        {
            $id = (int)$product['id'];

            $select = $this->table->select();
            $select->where("id=$id");

            $this->view->products[$id] = $this->table->fetchAll($select);

        }
  

Но результаты остаются нулевыми. Мне удалось сделать по-старому, но я возвращаю только последний результат, потому что массив перезаписан.

Комментарии:

1. Не будете ли вы перезаписывать $this->view->products с каждой итерацией цикла feareach? Я имею в виду, $this->view->products не должно быть массивом?

2. Опубликуйте весь свой класс модели здесь. Возможно, вы не установили имя таблицы $ _name . И также чувствую, что $ this-> select() в основном необходим, и могу прокомментировать только после того, как увижу модель.

Ответ №1:

Вам не хватает части ‘from’, поэтому запрос не знает, из какой таблицы выбирать.