#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’, поэтому запрос не знает, из какой таблицы выбирать.