2016-04-06 34 views
0

Bazı vaka sınıflarında Slick'te eşlenmiş çok sayıda sütun içeren bir tablom var. Kullanılabilir sütunların bazı alt kümelerini başka türde bir sorgu olarak kullanmak istiyorum. Örnek:Aynı tablo için aynı temsilci birden çok temsilci

case class NodeRow(id: Long, scheduled: Int, current: Option[Int]) 
case class OtherModel(id: Long, current: Option[Int]) 
class Node(_tableTag: Tag) extends Table[NodeRow](_tableTag, Some("masterdata"), "node") { 
def * = (id, scheduledFirmwareVersion, currentFirmwareVersion) <>(NodeRow.apply, NodeRow.unapply) 

val id: Rep[Long] = column[Long]("id", O.AutoInc, O.PrimaryKey) 
val scheduledFirmwareVersion: Rep[Int] = column[Int]("scheduled_firmware_version", O.Default(1)) 
// Note - in this example number of columns is reduced 
val currentFirmwareVersion: Rep[Option[Int]] = column[Option[Int]]("current_firmware_version", O.Default(None) 
} 
lazy val Node = new TableQuery(tag => new Node(tag)) 

Ben 'Düğüm' NodeRow örneklerini seçmek için kullanabilirsiniz. Ancak 'OtherModel' sınıfını oluşturmak için yalnızca iki sütun seçmek istersem ne olur? Anladığım kadarıyla, sadece gerekli sütunları seçmek için 'haritayı' kullanabilirim ve daha sonra tuples'den vaka sınıflarına dönüştürmek için sonuç üzerinde eşleme yapabilirim, ancak bu kullanım durumu için bazı güncellemeler olup olmadığını (güncellemeler dahil) öğrenmek istiyorum. Teşekkürler.

cevap

1

Aynı db tablosunda başka bir Slick Tablosunu tanımlayabileceğinizi düşünüyorum, sadece istenen sütunları eşleştirerek

+0

Açıktı. Teşekkür ederim :) –