光滑的左外连接获取整个连接行作为选项

2023-12-21

我的加入看起来像这样:

def byIdWithImage = for {
    userId <- Parameters[Long]
    (user, image) <- Users leftJoin RemoteImages on (_.imageId === _.id) if user.id === userId
} yield (user, image)

但当 user.imageId 为 null 时,slick 在运行时失败

[SlickException:读取列 RemoteImage.url 的 NULL 值]

将产量更改为

} yield (user, image.?)

给我一个编译时异常,它仅适用于单个列

找不到 scala.slick.lifted.TypeMapper[image.type] 类型的证据参数的隐式值

是否有不同的方法来完成我在这里想做的事情? (在单个查询中)


使用下面的代码,您可以将其写成:产量(用户,图像。也许)

case class RemoteImage(id: Long, url: URL)

class RemoteImages extends Table[RemoteImage]("RemoteImage") {
    def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
    def url = column[URL]("url", O.NotNull)
    def * = id.? ~ url <> (RemoteImage.apply _, RemoteImage.unapply _)

    def maybe = id.? ~ url.? <> (applyMaybe,unapplyBlank)

    val unapplyBlank = (c:Option[RemoteImage])=>None        

    val applyMaybe = (t: (Option[Long],Option[URL])) => t match {
        case (Some(id),Some(url)) => Some(RemoteImage(Some(id),url))
        case _ => None
    } 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

光滑的左外连接获取整个连接行作为选项 的相关文章

随机推荐

  • 深层链接在 Android 版 Chrome 中不起作用

    我为我的应用程序定义了一个意图过滤器 如下所示 Accepts URIs that begin with urban success gt
  • 检查数据库记录映射上的空值

    如何检查附加代码中的数据库空值 请理解我是一个新的 C 皈依者 此代码的作用是获取 IDataReader 对象并将其转换并映射到强类型对象列表 但我发现 当阅读器中返回空列时 它会完全出错 转换器 internal class Conve
  • Prawn 有多少种字体可用?

    我一直在随机尝试 Prawn 中的 Ruby 字体 例如 Times New Roman 是 Palatino Linotype 否 是否有可用字体和不可用字体的列表 代码中有默认字体列表 位于 lib prawn font afm rb
  • Django ORM 继承与 ManyToMany 字段

    假设我有以下 ORM 类 为了简化而删除了字段 class Animal models Model say def say something self return self say class Cat Animal self say I
  • 后台活动识别

    我正在制作一个使用 ActivityRecognition API 在后台跟踪用户活动的应用程序 如果用户在指定的时间段 例如 1 小时 内保持在同一位置 则系统会推送通知 告诉用户去散步 我已经实现了活动识别 但仅限于应用程序打开时的情况
  • 从.NET 4.5.2项目访问appsettings.json

    我有两个项目 一个 1 1 0 ASP NET Core 项目和一个对 4 5 2 项目的引用 我想从 appsettings json 文件获取值到我的 4 5 2 项目 appsettings json 文件位于核心项目中 在我的 4
  • 如何在两个html页面之间做过渡效果

    我需要在html页面之间提供过渡效果 当单击菜单或子菜单时 页面将以过渡效果打开 请指导我 如何做到这一点 提前致谢 下面的链接只有 div 转换 没有页面转换 html页面之间可以进行相同的转换吗 如何在两个 HTML 页面之间添加过渡
  • 如何在 shell 脚本中切换到不同的用户并使用新用户执行某些命令?

    我当前使用用户 USER1 登录 SERVER1 并且我已将 bash 脚本放在这里 该脚本必须切换到同一服务器 SERVER1 上的不同用户 USER2 并使用新切换的用户执行一些命令 注意 USER1 不是 root 用户 因此我需要在
  • SQL:一个查询中有两个 select 语句

    我想从一个查询中的两个 SQL 表中选择信息 但这些信息是不相关的 因此不存在潜在的联合 以下设置就是一个示例 tbl马德里 id name games goals 1 ronaldo 100 100 2 benzema 50 25 3 b
  • 使用递归进行文件复制期间的powershell错误检查

    我有一个程序可以递归地复制文件夹和文件 例子 Copy Item path folderA destination folderB recurse 有时文件不会复制 有没有办法 步入递归 或更好的方法来做到这一点 这样我就可以在过程中而不是
  • Java:查找某个单词在字符串中出现的次数(是否有类似于 C# 的表达式)?

    我对查找一个单词在字符串中出现的次数很感兴趣 我看过SUN的例子匹配器演示 https stackoverflow com questions 3016522 count the number of times a string appea
  • c# 查找目录中包含列表/数组/数据表等中指定的值的所有文件名

    使用 c NET 4 6 1 我有一组字符串 我想用它们从给定目录中选择 有效 文件 这就是我的意思 下面是我想要用来从存储在数组中的目录获取预期文件名的字符串示例 我不关心这些值是否存储在数组 列表或其他类型的集合中 我可以将它们放入最适
  • 如何自定义斯巴达克斯中的较低级别组件?

    我正在尝试自定义ProductListItemComponent和ProductGridItemComponent为了添加更多功能 例如库存柜台 经过一些快速研究后 我得出的结论是 无法使用cmsComponents对象 只有实际的 CMS
  • 演示无法在 Windows 10 上运行

    我一直在尝试在装有 Windows 10 的本地计算机上运行 R3 Corda 提供的所有示例和演示 https docs corda net releases release V1 0 running the demos html htt
  • 从 Any 进行投射时 UIColor 子类崩溃?

    我知道 子类化UIColor不推荐 苹果说 大多数开发人员不需要子类化 UIColor 但是我愿意 有关原因的更多信息可以从另一个问题 https stackoverflow com questions 59739137 overridin
  • MySQL 查询耗时超过 6 秒

    不久前 我得到了一些有关特定查询的帮助 这是链接 SQL Group BY 在新列中使用字符串 https stackoverflow com questions 31012881 sql group by using strings in
  • Rails 中根据条件随机选择 n 个对象

    我有一个名为 Post 的模型 有一个名为 vote 的专栏 并且有大量帖子 我想随机选择 n 个拥有 gt x 票的帖子 与帖子数量相比 n 非常小 做这个的最好方式是什么 我尝试了几种似乎效率很低的方法 谢谢 如果您使用 MySQL 您
  • 通过java锁定oracle中登录的用户

    我有一个 jsp 和 servlet 中的 java web 应用程序和 db 作为 oracle 10g EE 在登录中 如果一个用户已登录 那么如何防止同一用户再次登录 除非注销 Note I am not告诉如果登录用户单击登录页面
  • 推荐用于与 Moxy 配合使用的 JAX-WS 框架

    目前我正在使用 CXF 但由于 CXF 中的以下代码 fall back if we re using another jaxb implementation try riContext JAXBUtils createRIContext
  • 光滑的左外连接获取整个连接行作为选项

    我的加入看起来像这样 def byIdWithImage for userId lt Parameters Long user image lt Users leftJoin RemoteImages on imageId id if us