我已经为现有数据库提供了两个表:
customers (address_id)
addresses
此外,客户中的每个客户都有一个AddressID。通常,我会假设每个地址都有一个客户的ID,但这里的客户有地址ID。
现在,我正在寻找一个模型函数来检索客户的地址,以便在刀片模板中使用{{ $customer->address }}
之类的内容:
e.g。 Customer.php
public function address() {
return $this->belongsTo('Address', 'CustomerID', 'AddressID');
}
问:如何获取客户的相关地址?
//编辑:它是一个现有的表,包含我当前无法更新的数据。
我的工作是:
$customer->address = Address::find($customer->AddressID);
答案 0 :(得分:3)
belongsTo
来电中的参数有点不对劲。试试这个:
$this->belongsTo('Address', 'AddressID');
^
foreign key
只要设置了$primaryKey
模型上的Address
属性(或者它是传统的id
)
答案 1 :(得分:1)
在客户模型中创建像这样的函数
public function address() {
return $this->hasOne('Address', 'CustomerID', 'AddressID');
}
其中Address
是地址模型的名称CustomerID
是customers
中的主键(我建议只使用id
),AddressID
是Address
的引用在customers表中1}}所以,现在你可以使用{{ $customer->address }}
来检索客户的地址。