Also habe ich drei Tabellen: users
, candidates
und logs
. Jetzt candidates
hat keine eigene ID, es hat einen identifizierenden Fremdschlüssel user_id
. Blick viel wie folgt aus:Laravel - Wie benutzt man einen Fremdschlüssel zu einer Tabelle mit einem identifizierenden Fremdschlüssel?
-users-
id
name
etc.
-candidates-
user_id
type
etc.
Jetzt möchte ich logs
einen Tisch haben, die einen mit candidates
one-to-many-Beziehung hat, ist, dass ein Kandidat null oder mehr logs
haben kann. Also möchte ich einen fremden Schlüssel zu candidates
, etwas wie candidate_id
haben. Wenn man es so darstellt und Laravel wird die Beziehung nicht automatisch verstehen. Was soll ich den Fremdschlüssel von logs
zu candidates
nennen, damit Laravel die Beziehung versteht?
Ist die Beziehung zwischen Benutzer und Kandidaten eine Eins-zu-Eins-Beziehung? – tkausl
Ja @tkausl, ist es tatsächlich. Ein Benutzer hat jedoch nicht notwendigerweise einen Kandidaten, aber ein Kandidat hat notwendigerweise einen Benutzer. –
Dann könnten Sie den Benutzer die Protokolle als Beziehung haben, die Kandidaten könnten dann ein Protokoll über den Benutzer haben ('hasManyThrough'). Es gibt keine Möglichkeit, eine Eins-zu-viele-Beziehung ohne einen Primärschlüssel auf dem "Eins" -Teil zu haben. – tkausl