Wie kann ich aus mehreren Tabellen in CodeIgniter

Ich habe drei Tabellen: (um es einfach zu halten werde ich nur die relevanten Felder)

Articles (id, title, text, author)
Comments (id, article_id, text, author)
Users (user_id, user_type, first_name, last_name, email, password)

In der articles Tisch, weil ein Autor kann mehrere Artikel, die ich nur speichern des Autors user_id von der users Tisch, und ich mache das gleiche für die comments Tabelle.

Mein problem ist wenn ich ein ActiveRecord-Abfrage in der articles_model, um alle Artikel die zusammen mit diesem Artikel, die zugehörigen Kommentare und dann echo der Autor in meinen Augen mit $row->author, bekomme ich nur die Autorin user_id 1, 2, 3, etc etc.

Wie gehe ich in der users Tabelle (andere Tabelle) im gleichen Abfrage und Sie bekommen die Autoren tatsächlichen first_name und last_name und Rückkehr?

Hier ist mein code:

Controller:

$data['articles'] = $this->getArticles();
$this->load->view('articles_view', $data);

function getArticles() {
  $this->load->model('articles_model');
  $articles = $this->articles_model->getAllArticles();
  return $articles;
}

articles_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 } ?>

Ich habe eine Tonne von anderen Bereichen, aber das ist eine extrem abgespeckte version für Einfachheit.

Wenn ich echo die oben $row->author ich bin nur gehen, um die user_id. Ich brauche, um den Namen des Benutzers aus der users Tabelle statt. Ich brauche sicher nicht zu tun haben, eine weitere eigene Funktion aufrufen, und übergeben Sie mehr Informationen in den anzeigen. Jede Hilfe wäre hier sehr zu schätzen und würde wirklich eine Welt für mich 🙂

  • Ich kann nicht sprechen für CI ' s konkret, aber normalerweise gibt es join Methoden der db-Klasse... oder manchmal spezifische join-Methoden, die auf Modelle wie getWith oder findWith.
  • Ist die "Autorin" im Artikel und Kommentare Tabelle ist der Fremdschlüssel aus der Tabelle users?
InformationsquelleAutor Joey Duke | 2010-08-11
Schreibe einen Kommentar