LEFT OUTER JOIN mit Rails 4
In Rails können Sie LEFT OUTER JOIN verwenden, um Informationen aus mehreren Tabellen abzurufen, auch wenn die Daten ist nicht in allen Tabellen vorhanden.
In Ihrem Szenario möchten Sie Kurse abrufen, die keinem bestimmten Studenten zugeordnet sind. Die bereitgestellte SQL-Abfrage kann mit dem Active Record von Rails 4 implementiert werden:
Course.joins("LEFT JOIN student_enrollments ON courses.id = student_enrollments.course_id") .where("student_enrollments.id IS NULL AND student_enrollments.student_id = ?", SOME_STUDENT_ID_VALUE) .where(active: true)
Beachten Sie die Verwendung von Joins zur Angabe der Join-Bedingung unter Verwendung der alternativen Syntax der Übergabe einer Zeichenfolge. Darüber hinaus wurde aus Gründen der Übersichtlichkeit die Benennungskonvention für Tabellen nach dem Rails-Standard verwendet. Diese Abfrage ruft Kurse ab, die nicht von einem bestimmten Studenten eingeschrieben sind.
Das obige ist der detaillierte Inhalt vonWie kann ich LEFT OUTER JOIN in Rails 4 verwenden, um Kurse zu finden, die nicht von einem bestimmten Studenten eingeschrieben sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!