Rumah >pangkalan data >tutorial mysql >Bagaimana Mencari Kursus Tidak Didaftarkan oleh Pelajar Tertentu Menggunakan Gabungan Luar Kiri dalam Rails 4?

Bagaimana Mencari Kursus Tidak Didaftarkan oleh Pelajar Tertentu Menggunakan Gabungan Luar Kiri dalam Rails 4?

Patricia Arquette
Patricia Arquetteasal
2025-01-03 11:44:43335semak imbas

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

Left Outer Join in Rails 4: Querying for Courses Not Associated with a Student

Dalam Rails 4, anda mempunyai tiga model: Student, Kursus, dan Enrolmen Pelajar. Anda ingin menanyakan senarai kursus yang tidak dikaitkan dengan pelajar tertentu dalam jadual Enrolmen Pelajar.

Menggunakan kaedah joins(), anda ingin melaksanakan pertanyaan SQL berikut:

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

Untuk mencapai ini dalam Rails 4, anda boleh menggunakan kaedah joins() dan lulus rentetan yang mewakili join-SQL. Walau bagaimanapun, adalah disyorkan untuk menggunakan penamaan jadual standard Rails untuk kejelasan:

joins("LEFT JOIN student_enrollments ON courses.id = student_enrollments.course_id")

Ini akan melakukan gabungan luar kiri antara jadual Kursus dan Pendaftaran Pelajar dan mendapatkan semula semua kursus yang tidak dikaitkan dengan pelajar yang ditentukan.

Atas ialah kandungan terperinci Bagaimana Mencari Kursus Tidak Didaftarkan oleh Pelajar Tertentu Menggunakan Gabungan Luar Kiri dalam Rails 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn