>我给出了一个包含两个表的现有数据库:
customers (address_id)
addresses
此外,客户中的每个客户都有一个地址 ID。通常,我会假设每个地址都有一个客户的 ID,但这里的客户有地址 ID。
现在,我正在寻找一个模型函数来从客户处检索地址,以便在刀片模板中使用类似于{{ $customer->address }}
的内容:
例如客户.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 }}
来检索客户的地址。