5
Örneğin aşağıdaki gibi çoklu alanlara nasıl katılır?Scala Slick 2 çoklu alanlara katılıyor musunuz?
val ownerId = 1
val contactType = 1
...
val contact = for {
(t, c) <- ContactTypes leftJoin Contacts on (_.id === _.typeId && _.ownerId === ownerId)
if t.id === contactType
} yield (c.?, t)
Bunu Slick 2.0.1 ile nasıl başarabilirim? Idelly ben
SELECT
x2."contact_id",
x2."type_id",
x2."owner_id",
x2."value",
x2."created_on",
x2."updated_on",
x3."id",
x3."type",
x3."model"
FROM
(
SELECT
x4."id" AS "id",
x4."type" AS "type",
x4."model" AS "model"
FROM
"contact_types" x4
)x3
LEFT OUTER JOIN(
SELECT
x5."created_on" AS "created_on",
x5."value" AS "value",
x5."contact_id" AS "contact_id",
x5."updated_on" AS "updated_on",
x5."type_id" AS "type_id",
x5."owner_id" AS "owner_id"
FROM
"contacts" x5
)x2 ON x3."id" = x2."type_id" AND x2.owner_id = 1
WHERE
(x3."id" = 3)
x3 AÇIK unutmayın sorgunun bu tür üretmek için kaygan gerekir. "Id" = x2. "Type_id" VE x2.owner_id = 16
Bu makalenin sağ tarafında şunlar bulunur: {case (type, contact) => type.id === contact.typeId && contact.ownerId === ownerId } Vlad'ın iç parantezleri mantıklı değil. – Epicurist
@Epicurist neden? Lütfen açıklar mısın? –
Bu type.id === contact.typeId && contact.ownerId === ownerId'nin hiç parantez gerektirmediğine katılıyor musunuz? Orada – Epicurist