У меня есть три таблицы: (для простоты я покажу только соответствующие поля)
Articles (id, title, text, author)
Comments (id, article_id, text, author)
Users (user_id, user_type, first_name, last_name, email, password)
В таблице articles
, поскольку у автора может быть несколько статей, я храню толькоавтор user_id
из таблицы users
, и я делаю то же самое для таблицы comments
.
Моя проблема заключается в том, что я запускаю запрос ActiveRecord в элементе article_model, чтобы получить все статьи вместе с соответствующими статьямикомментарии, а затем повторить автора на мой взгляд с $row->author
, я получаю только user_id автора, который равен 1, 2, 3 и т. д. и т. д.
Как перейти в таблицу users
(разныеТаблица) в том же запросе и получить фактические first_name
и last_name
авторов и вернуть это?
Вот мой код:
Контроллер:
$data['articles'] = $this->getArticles();
$this->load->view('articles_view', $data);
function getArticles() {
$this->load->model('articles_model');
$articles = $this->articles_model->getAllArticles();
return $articles;
}
article_model:
function getAllArticles() {
$this->db->where('id', $this->uri->segment(3));
$query = $this->db->get('articles');
return $query;
}
Articles_view:
<?php foreach($articles->result() as $row) { ?>
<?php echo $row->author ?>
<?php echo $row->text ?>
<?php } ?>
У меня есть тонна других полей, но это упрощенная версия для простоты.
Если я эховыше $row->author
, я только собираюсь получить user_id.Мне нужно получить имя пользователя из таблицы users
.Конечно, мне не нужно делать еще один отдельный вызов функции и передавать больше информации в представление.Любая помощь здесь будет принята с благодарностью и откроет мне мир:)