Obojí jde ruku v ruce. Jedno je nekompletní bez druhého. Pokud chcete, aby vaše vztahy fungovaly správně, musíte obě tyto věci definovat.
Pokud jste právě definovali cizí klíč v migračním souboru, vztah by fungoval pouze v případě, že napíšete nezpracovaný dotaz. Od té doby to na vašich modelech nebude fungovat, nenapsal jste nic o vztazích ve vašich modelech.
Takže, jakmile napíšete hasMany
v jednom z vašich modelů a odpovídající funkce v druhém modelu, teprve potom o sobě vaše modely vědí a pak můžete úspěšně vyhledávat věci prostřednictvím vašeho modelu i ve vaší databázi.
Všimněte si také, že pokud máte správně definované vztahy pomocí hasMany
a belongsTo
ve vašich modelech, ale nezadali jste cizí klíč v tabulce modelu, kterému belongsTo
jiná tabulka, vaše vztahy nebudou fungovat.
Stručně řečeno, obojí je stejně povinné.