2017-02-14 54 views
0

我創建了OneToMany關係的表。兩個表格是MallsShops。每Mall可以有很多Shop但問題是每個Shop不一定屬於一個Mall。它可以是一個獨立的商店。在Laravel中設置OneToMany關係,關係異常

當我打電話App\Shop::first()->mall如果店鋪不屬於Mall它會返回null或拋出異常或錯誤?

在雄辯中怎麼可能?

+1

這是你可以學習的東西,只是想看看會發生什麼。由於沒有找到與商店相關的購物中心,因此雄辯返回NULL。 – lucasvscn

回答

1

讓我們瞭解您的情況,您有購物中心模型和商店模型。一個商場可能有多個店鋪,而店鋪可能會或可能不屬於商場

這裏是商城模式

public function shop() { 
    return $this->hasMany(Shop::class); 
} 

下面的代碼是店模式

public function mall(){ 
    return $this->belongsTo(Mall::class); 
} 

這將代碼滿足您的要求。每當商店不屬於任何商場時,它將返回null而不是錯誤。

1

當您訪問應用程序\店::第一個() - >商場,雄辯試圖加載使用存儲在值相關商場模型mall_id您財產。如果它包含一個值,如果存在,則加載相關對象。如果不是,則返回NULL。如果它不包含任何值,則會返回NULL,因爲不能使用此ID的相關記錄。