2015-05-06 67 views
0

例如,我有如下領域:如何通過WHERE子句訪問相關表的屬性?

class Company { 
    String name 
} 

class Employee { 
    String firstName 
    String secondName 
    Company company 
} 

我試圖讓所有的員工,其中公司名稱是 'M $經常'

Employee.where { 
    eq 'company.name', 'M$oft' 
}.list() 

了:

無法解析property:company.name:myapp.Employee


我也試試這個:

Employee.where { 
    createAlias('company', 'c') 
    eq 'c.name', 'M$oft' 
}.list() 

了:

無法解析屬性:使用c:myapp.Employee


我知道:

Employee.where { 
    company.name == 'M$oft' 
} 

但它不適合我。

我只想知道:是否可以通過where子句使用字段的字符串名稱?

回答

1

下次使用語法:

Employee.where { 
    company{ 
    eq 'name', 'M$oft' 
    } 
}.list() 

而且不要忘了使用'與有$字符串。也許一些意想不到的結