Сегодня у меня возникла проблема с разработкой моего приложения. Я реструктурировал свою базу данных.Codeigniter: выбор разных столбцов из 3 таблиц
У меня есть 3 стола для сообщений, фотографий и для тегов сообщений.
Я присоединился к двум другим таблицам (фотографии, метки).
Я хотел бы запросить первые 3 сообщения только с одним SELECT с фотографиями и тегами, но только первая строка отображается из результатов.
Heres мой код:
$this->db->select('owner, title, time, LEFT(content, 75) as content, category, url, price, county');
$this->db->from(POSTS_TABLE);
$this->db->join(PHOTOS_TABLE, PHOTOS_TABLE.'.post_id = '.POSTS_TABLE.'.url');
$this->db->join(TAGS_TABLE, TAGS_TABLE.'.post_url = '.POSTS_TABLE.'.url');
$this->db->order_by('time', 'desc');
$this->db->limit(3);
$query = $this->db->get();
$posts = $query->result();
Моя структура БД:
сообщений таблица:
id, owner, title, content, url
таблицу теги: Идентификация, post_id (такой же, как столбец URL-адрес из таблицы сообщений), фото (ссылка на фотографию)
теги таблица:
id, post_url (same as the url column from the posts table), tag.
Пожалуйста, помогите.Как я могу достичь этого с помощью только одного SELECT и отображения правильных результатов?
я не могу использовать ИНЕКЕ, так как я не знаю точного POST_URL
«Учитывая имя столбца «url» - это идентификатор строки « Не совсем, URL-адрес является уникальным идентификатором сообщения в таблице сообщений. В таблице фотографий и тегов может быть несколько строк с одинаковым столбцом« url ». – kivimango
Вы попробовали код выше? он должен работать. – Sebastian