Maison >base de données >tutoriel mysql >Comment puis-je utiliser LEFT OUTER JOIN dans Rails 4 pour rechercher des cours non inscrits par un étudiant spécifique ?
LEFT OUTER JOIN avec Rails 4
Dans Rails, vous pouvez utiliser LEFT OUTER JOIN pour récupérer des informations de plusieurs tables, même si les données n'existe pas dans toutes les tables.
Dans votre scénario, vous souhaitez récupérer des cours non associés à un élève en particulier. La requête SQL fournie peut être implémentée à l'aide de l'Active Record de Rails 4 :
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)
Notez l'utilisation de jointures pour spécifier la condition de jointure, en utilisant la syntaxe alternative consistant à passer une chaîne. De plus, la convention de dénomination des tables standard Rails a été utilisée pour plus de clarté. Cette requête récupérera les cours qui ne sont pas inscrits par un étudiant donné.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!