結合された 2 つのデータ テーブルをループしようとしています。1 つのテーブルは画像コレクションで、もう 1 つは画像です。画像には、コレクションへの外部キーがあります。
私の質問は、私の見解では次のことをどのように達成するのですか?
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() は、次および前の画像ではなく、次および前の画像を提供します。コレクション。