![](/img/trans.png)
[英]When should I use hasOne() and when should I use belongsTo()?
[英]When to use belongsTo() and when hasOne() in laravel?
在laravel中定義模型之間的一對一關系時,我們會說:
class Model1 extends Model
{
public function model2()
{
return $this->hasOne('App\Model2');
}
}
對於Model2,我們將使用belongsTo('App\\Model1')
。
是否有關於如何決定我們將使用每個函數的結果的邏輯?
兩者之間的區別在於外鍵將駐留在數據庫中。 belongsTo函數應屬於其表包含外鍵的模型,而hasOne應屬於由另一個表中的外鍵引用的模型。
兩者都可以,但是您應該為將來可能使用您的系統的其他開發人員保持可靠的編碼實踐。 此外,如果您的外鍵級聯刪除,這將變得至關重要。 如果刪除model1,還應該刪除belongsTo model1的model2嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.