Slick verbinden Sie zwei Tabellen und erhalten Ergebnis von beiden

9

Ich habe eine Viele-zu-Viele-Beziehung wie folgt eingerichtet:

Person & lt; - & gt; Personenfeld & lt; - & gt; Feld

Nun möchte ich nicht nur alle Felder einer Person abfragen (ich kann das tun), sondern auch eine verknüpfte Version von PersonField mit dem Feld einer Person. (Ich möchte auch die Informationen in der Pivot / Intermediate Table "PersonField" abfragen / abrufen!)

Person:

%Vor%

Feld:

%Vor%

Personenfeld:

%Vor%

Um nun alle Felder einer Person abzufragen, habe ich eine kleine Helfer-Klasse:

%Vor%

So kann ich

machen

val personX ...

%Vor%

Nun wird jedes Feld von personX auf die Konsole gedruckt. Funktioniert wie ein Zauber.

Das Ding ist, ich möchte das PersonField auch (mit dem Feld) bekommen!

So habe ich die folgenden Änderungen versucht (unter anderem, die nicht funktionierten, an die ich mich nicht erinnern kann)

In Person :

%Vor%

In Personen

def fields = PersonFields.all.filter(_.personID === id) // Keine flache Karte hier!

then getFields (p: Person) sieht so aus:

%Vor%

aber

%Vor%

gibt mir nichts, also denke ich, dass mein Beitritt falsch sein muss. Aber was genau mache ich falsch?

    
Sorona 08.09.2015, 22:14
quelle

1 Antwort

2

Sie können alle drei verbinden und dann das Ergebnis

erhalten %Vor%

(Ich bin mir nicht sicher, ob ich genau das bekommen habe, was Sie versucht haben, aus der Abfrage herauszuholen, also können Sie einfach den Yield-Teil bearbeiten)

    
Liza Shakury 29.12.2015, 14:11
quelle