Båda går hand i hand. Den ena är ofullständig utan den andra. Om du vill att dina relationer ska fungera korrekt måste du definiera båda dessa saker.
Om du precis har definierat den främmande nyckeln i en migreringsfil, skulle relationen fungera ifall du skriver en råfråga. Det kommer inte att fungera på dina modeller sedan, du har inte skrivit något om relationer i dina modeller.
Så fort du skriver hasMany
i en av dina modeller, och motsvarande funktion i den andra modellen, först då vet dina modeller om varandra, och sedan kan du framgångsrikt fråga saker genom din modell såväl som i din databas.
Observera också att om du har korrekt definierade relationer genom hasMany
och belongsTo
i dina modeller, men har inte angett främmande nyckel i tabellen för modellen som belongsTo
andra tabell, kommer dina relationer inte att fungera.
Kort sagt, båda är lika obligatoriska.