【发布时间】:2019-08-12 12:53:53
【问题描述】:
光滑的docs 展示了如何创建一个隐式扩展来获取表之间的关系:
implicit class PersonExtensions[C[_]](q: Query[People, Person, C]) {
// specify mapping of relationship to address
def withAddress = q.join(addresses).on(_.addressId === _.id)
}
如何使用多对多表而不是单个关系创建withAddresses?
例如,我希望能够执行以下类似操作,这是链接文档中单数示例的复数版本:
val chrisQuery: Query[People,Person,Seq] = people.filter(_.id === 2)
val addressesQuery: Query[Addresses,Address,Seq] = chrisQuery.withAddresses.map(_._2)
val addresses = db.run(addressQuery.result)
使用一些映射表,例如PersonAddresses
【问题讨论】:
标签: playframework slick