Heim > Datenbank > MySQL-Tutorial > Wie finde ich Kurse, die nicht von einem bestimmten Studenten eingeschrieben sind, mithilfe eines Left Outer Joins in Rails 4?

Wie finde ich Kurse, die nicht von einem bestimmten Studenten eingeschrieben sind, mithilfe eines Left Outer Joins in Rails 4?

Patricia Arquette
Freigeben: 2025-01-03 11:44:43
Original
380 Leute haben es durchsucht

How to Find Courses Not Enrolled by a Specific Student Using a Left Outer Join in Rails 4?

Left Outer Join in Rails 4: Abfragen nach Kursen, die nicht mit einem Studenten verknüpft sind

In Rails 4 gibt es drei Modelle: Student, Kurs und Studenteneinschreibung. Sie möchten eine Liste von Kursen abfragen, die nicht mit einem bestimmten Studenten in der Tabelle „StudentEnrollments“ verknüpft sind.

Mit der Methode „joins()“ möchten Sie die folgende SQL-Abfrage ausführen:

SELECT *
FROM Courses c LEFT JOIN StudentEnrollment se ON c.id = se.course_id
WHERE se.id IS NULL AND se.student_id = <SOME_STUDENT_ID_VALUE> and c.active = true
Nach dem Login kopieren

Um dies in Rails 4 zu erreichen, können Sie die Methode „joins()“ verwenden und einen String übergeben, der das Join-SQL darstellt. Aus Gründen der Übersichtlichkeit wird jedoch empfohlen, die Tabellenbenennung nach dem Rails-Standard zu verwenden:

joins("LEFT JOIN student_enrollments ON courses.id = student_enrollments.course_id")
Nach dem Login kopieren

Dadurch wird ein Left-Outer-Join zwischen den Tabellen „Courses“ und „StudentEnrollments“ durchgeführt und alle Kurse abgerufen, die nicht mit dem angegebenen Studenten verknüpft sind.

Das obige ist der detaillierte Inhalt vonWie finde ich Kurse, die nicht von einem bestimmten Studenten eingeschrieben sind, mithilfe eines Left Outer Joins in Rails 4?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage