【发布时间】:2018-04-11 16:43:34
【问题描述】:
我有两个模型Customer,Contact在Customer模型中有如下关系:
public function latestContact () {
return $this->hasOne(Contact::class)->latest();
}
我已经发现here 可以在显示数据时检查关系是否存在。否则我会收到 “尝试获取非对象的属性” 错误。
optional($customer->latestContact)->address
现在我想知道是否有办法在模型函数中直接检查这个。我宁愿只打电话
$customer->latestContact->address
或类似的东西
$customer->getLatestContactAdress
如果关系不存在,则返回 false(或无结果)。
提前谢谢你。
【问题讨论】:
-
如果你的关系是 hasOne 为什么你要调用 latest()
-
@afsalc 实际的关系是 hasMany()。使用 latestContact 函数,我只调用客户的最新联系人。