我正在尝试从项目表中选择一个项目并加入第二个表格(图像)。表格图像将为每个项目提供多个结果。问题是结果连接只带来一个结果,而不是带有所有图像数据的数组。
代码
$select = $this->select();
$select->setIntegrityCheck(false);
$select->from($this)
->joinLeft('items_images', 'items.item_id = image_item_id')
->where($where);
$result = $this->fetchRoll($select);
我缺少什么?
由于
答案 0 :(得分: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;