0
我試圖通過兩個連接的數據表循環。一張桌子是一個圖像集合,另一個是圖像。圖像有一個外鍵來收集。Codeigniter:循環查詢兩個結果
我的問題是,我如何在我看來實現以下目標?
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()會給出下一個和上一個圖像,而不是下一個和上一個採集。