Rails 4의 LEFT OUTER JOIN
Rails 4에서는 ActiveRecord의 조인 메서드를 사용하여 LEFT OUTER JOIN과 같은 복잡한 SQL 쿼리를 실행할 수 있습니다. . 이 방법을 사용하면 조인 조건을 문자열로 지정할 수 있습니다.
Student, Course 및 StudentEnrollment의 세 가지 모델이 있는 시나리오를 생각해 보세요. 특정 학생이 등록하지 않은 강좌 목록을 검색한다고 가정해 보겠습니다.
LEFT OUTER JOIN을 사용하여 이를 수행하려면 다음 SQL 쿼리를 사용할 수 있습니다.
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
Rails에서는 다음 코드를 사용하여 이 쿼리를 실행할 수 있습니다.
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("courses.active = true")
문자열 인수와 함께 Joins 메소드를 활용하면, 조인 조건을 자세하게 지정할 수 있습니다. 이 접근 방식은 Rails에서 복잡한 데이터베이스 쿼리를 실행하는 유연한 방법을 제공합니다.
위 내용은 특정 학생이 등록하지 않은 강좌를 찾기 위해 Rails 4에서 LEFT OUTER JOIN을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!