簡體   English   中英

Laravel雄辯的“屬於” /“ hasOne”

[英]Laravel eloquent “belongsTo” / “hasOne”

我給出了一個具有兩個表的現有數據庫:

customers (address_id)
addresses

此外,客戶中的每個客戶都有一個AddressID。 通常,我假設每個地址都有一個客戶ID,但是這里的客戶有地址ID。

現在,我正在尋找一個模型函數來從客戶那里檢索地址,以在刀片模板中使用類似{{ $customer->address }}東西:

例如Customer.php

public function address() {
    return $this->belongsTo('Address', 'CustomerID', 'AddressID');
}

問:如何為客戶獲取相關地址?

//編輯:這是一個現有表,其中包含我當前無法更新的數據。

我的解決方法是:

$customer->address = Address::find($customer->AddressID);

您的belongsTo調用中的參數有點錯誤。 嘗試這個:

$this->belongsTo('Address', 'AddressID');
                                 ^
                            foreign key

只要在Address模型上設置了$primaryKey屬性(或者它是常規id ),就可以省略第三個參數。

在客戶模型中創建這樣的功能

public function address() {
    return $this->hasOne('Address', 'CustomerID', 'AddressID');
}

Address為地址機型的名稱CustomerID是主鍵customers (我建議只使用id )和AddressID是參考Address的客戶表。 因此,現在您可以使用{{ $customer->address }}來檢索客戶的地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM