我正在尝试遍历两个连接的数据表。一个表是图像集合,另一个是图像。图像具有收集的外键。
我的问题是,我认为如何实现以下目标?
foreach ($collections as $collection) {
echo '<ul>';
foreach ($collection->image as $image) {
echo '<li><img src="'.$image->url.'" /></li>';
}
echo '</ul>';
}
我目前在控制器中使用它:
class Collection extends CI_Controller {
public function index()
{
$this->load->model('Collection_model');
$data['collections'] = $this->Collection_model->get_latest_collections();
$this->load->view('collection_view.php', $data);
}
}
并有以下型号:
class Collection_model extends CI_Model {
function get_latest_collections()
{
$this->db->select('*');
$this->db->from('photo');
$this->db->join('collection', 'photo.collection_id = collection.id');
$this->db->order_by("collection.date_created", "DESC");
$query = $this->db->get();
return $query->result();
}
}
上面的问题是,当我遍历收集结果时,我实际上是直接遍历所有图像。我必须在视图中添加一些逻辑来检查集合 ID 是否已更改为放入 . 这意味着我不能使用 next() 和 prev() 来获取下一个和上一个集合,因为循环正在遍历图像并且 next() 和 prev() 给出下一个和上一个图像而不是下一个和上一个收藏。