0

我正在尝试从项目表中选择一个项目并加入第二个表(图像)。表格图像将为每个项目提供多个结果。问题是结果连接只带来一个结果,而不是包含所有图像数据的数组。

编码

    $select = $this->select();
    $select->setIntegrityCheck(false);
    $select->from($this)
           ->joinLeft('items_images', 'items.item_id = image_item_id')
           ->where($where);
    $result =  $this->fetchRoll($select);

我错过了什么?

谢谢

4

1 回答 1

0

在您的帖子中, $result = $this->fetchRoll($select); 我认为您可能 $result = $this->fetchRow($select); 在代码中出现拼写错误

但你应该使用 fetchAll 代替:

$result =  $this->fetchAll($select);

见这里http://framework.zend.com/manual/en/zend.db.table.html

编辑:使用包含所有图像的子数组获取项目的数据数组

$results =  $this->fetchAll($select);

$item['item_id'] = $result[0]['item_id'];
//put other item's data here in item
$images = array();
$i = 0;
foreach($results as $result){
  $images[$i]['image_id'] = $result['image_id']
  $images[$i]['image_name'] = $result['image_name']
  //put other image's data here in $images[$i]
  $i++;
}

$item['images'] = $images;
于 2012-02-23T13:51:38.833 回答