Scala Slick MySQL - 执行高级SQL的东西

时间:2014-11-11 20:48:37

标签: mysql scala playframework slick-2.0

我的MySQL数据库中有3个表:应用程序,用户和application_images。 我需要编写一个将生成下一个SQL的查询:

SELECT * FROM applications 
JOIN users ON applications.user_id=users.id 
LEFT JOIN applications_images ON applications_images.app_id=applications.id
WHERE applications.id=?

如何通过光滑的语法实现这一目标?

关于同一主题:如何使用slick(在MySQL DB上)编写纯SQL查询?

1 个答案:

答案 0 :(得分:1)

使用leftJoin时,您可以使用?方法将表格投影到Option。你的看起来可能像:

applications join users on (_.user_id === _.id) map { 
    case (app, user) => (app, user) 
} leftJoin application_images on (_._1.id === _.app_id) map {
    case ((app, user), image) => (app, user, image.?)
} filter(_._1.id === {id})