Я пытаюсь перебрать две объединенные таблицы данных. Одна таблица - это коллекция изображений, а другая - изображения. Изображения имеют внешний ключ для коллекции.Codeigniter: Query for looping через два результата
Мой вопрос: как мне достичь следующего, на мой взгляд?
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();
}
}
Проблема с вышесказанным в том, что, когда я Переберите результаты сбора Я фактически перебираю все изображения. Мне нужно поместить некоторую логику в представление, чтобы проверить, изменился ли идентификатор коллекции, чтобы вставить. Это означает, что я не могу использовать next() и prev(), чтобы получить следующую и предыдущую коллекцию, когда цикл перемещается по изображениям, а next() и prev() дает следующее и предыдущее изображение, а не следующее и предыдущее коллекция.