我正在使用 Slick Plain SQL,并且我有一个类似这样的表模式:
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(191) NOT NULL
);
CREATE TABLE images (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
url VARCHAR(191) NOT NULL,
user_id INT NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
ON DELETE CASCADE ON UPDATE CASCADE
);
和一个看起来像这样的案例类:
case class User(name: String, imageUrls: Array[String])
是否可以编写我的查询和隐式查询,GetResult
以便我可以执行以下操作:
val u = Q.query[String, User]("""
SELECT
users.name, images.url
FROM
users
INNER JOIN images ON images.user_id = users.id
WHERE
users.name = ?
""").first(name)