假设有一个 Order 模型,它有一个方法:
public function partners()
{
return $this->hasMany('App\Order','partner_id','id');
}
我正在尝试在 Order 模型本身中使用这种关系:
public function getPartnerName($partner_id)
{
return $this->partners()->where('partner_id', $partner_id)->first();
}
但是 getPartnerName 什么也不返回。
我在模板中调用 getPartnerName 方法,如下所示:
$order->getPartnerName($order->partner_id);
最后是空的。
如何使用给定关系获取模板中的值?
我了解一个订单可以有多个按 partner_id 的订单。如果仍然通过此代码传递当前模型 $order->id 的 id,为什么还要在 getPartnerName 中使用 $partner_id 参数
$order->getPartnerName($order->id)?不清楚你在哪里使用 $order->getPartnerName($order->id),如果我能解释一下,我会更了解你需要什么。
也许你应该有类似 $orderPartner->id 的东西而不是 $order->id?
并将 getPartnerName 方法更改为:
目前尚不清楚为什么该方法被称为 getPartnerName 并且您需要返回模型,而不是名称
在订单模型中:
在合作伙伴模型中,如果您想接收合作伙伴订单:
然后在刀片中:
{{ $order->partnerName}}或{{ $order->partner_name}}试试这个,它不起作用,然后尝试更改 ", 'partner_id', 'id'" 如果您转换为数组并且您希望 partner_name 在那里,然后到 Order 模型: