对于两个表之间的连接是这样的
(for {
(computer, company) <- Computers leftJoin Companies on (_.companyId === _.id)
if computer.name.toLowerCase like filter.toLowerCase()
}
Run Code Online (Sandbox Code Playgroud)
但是如果需要在更多表之间加入,那么下面尝试的方法是正确的,但是不起作用
(for {
(computer, company,suppliers) <- Computers leftJoin Companies on (_.companyId === _.id)
//not right leftjoin Suppliers on (_.suppId === _.id)
if computer.name.toLowerCase like filter.toLowerCase()
}
Run Code Online (Sandbox Code Playgroud)
cvo*_*ogt 31
第一个连接导致Query返回元组.其中一个元组组件具有您要用于第二个连接的外键.在获取其字段之前,您需要在第二个连接条件中获取此组件.如果公司是表格,那么该字段将显示为以下内容:
(for {
((computer, company),suppliers) <- Computers leftJoin Companies on (_.companyId === _.id) leftJoin Suppliers on (_._2.suppId === _.id)
if computer.name.toLowerCase like filter.toLowerCase()
} yield ... )
Run Code Online (Sandbox Code Playgroud)