Beide gaan hand in hand. De een is compleet zonder de ander. Als u wilt dat uw relaties goed werken, moet u beide zaken definiëren.
Als u zojuist de externe sleutel in een migratiebestand hebt gedefinieerd, zou de relatie werken voor het geval u een onbewerkte query schrijft. Het zal niet werken op je modellen, aangezien je niets hebt geschreven over relaties in je modellen.
Dus zodra je hasMany
. schrijft in een van uw modellen, en overeenkomstige functie in het andere model, alleen dan weten uw modellen van elkaar, en dan kunt u met succes zaken opvragen via uw model en in uw database.
Merk ook op dat als je correct gedefinieerde relaties hebt via hasMany
en belongsTo
in uw modellen, maar u heeft geen externe sleutel opgegeven in de tabel van het model dat belongsTo
andere tafel, uw relaties werken niet.
Kortom, beide zijn even verplicht.