2014-10-30 153 views
0

如何使用ActiveJDBC進行復雜查詢?ActiveJDBC複雜查詢

我有一個模型Student和模型Class

Student: 
    id 
    first_name 
    last_name 


Class: 
    id 
    name 
    student_id 

我給出了兩個學生證1和50例如

我想所有的類,使得學生ID是間1和50,並使得第一名稱相匹配「丹」

我知道我可以做以下拿到學生證之間的類[1 - 50]列表:

List<Class> classesList = Class.where("student_id >= ? and student_id <= ?", firstStudent.getId(), SecondStudent.getId()); 

但我怎麼限制學生的名字?

我也有要求(有許多到很多車型特別是)使更復雜的查詢,但我不知道如何解決它與ActiveJDBC

回答

0

這裏是如何限制的名字「丹「:

List<Class> classesList = Class.where("student_id >= ? and student_id <= ? and first_name = ?", firstStudent.getId(), SecondStudent.getId(), "Dan"); 

對於許多一對多您需要提供更多的細節,以獲得幫助

+0

學生的名字只在學生模式,而不是雖然 – nevermind 2014-10-30 05:12:57

+0

在這種情況下,你需要編寫的類模型一個免費的SQL: 'List classesList = Class.findBySql(「select * from classes,students where classes.student_id> =?和classes.student_id <=?和students.id = classes.student_id和students.first_name =?「,firstStudent.getId(),SecondStudent.getId(),」Dan「);'' – ipolevoy 2014-10-30 17:16:12