我有一个订购模块,其中与客户的关系为 公共职能customer(){
return $this->hasOne(Customer::class, 'id', 'customer_id');
}
我的查询以获取订单详细信息为 $ orderResponse = Order :: find(1);
我的订单资源包括, 'customer'=>新的CustomerResource($ this-> whenLoaded('customer'))
因此,预期结果是我应该在没有客户对象的情况下获取所有客户详细信息,因为在获取订单数据时不会加载它。 但这是回应。 加载集合时,它工作正常,但不适用于hasOne关系。
答案 0 :(得分:1)
尝试一下
$orderResponse = Order::find(1);
$orderResponse->customer()->id; //Customer Order Relationship
答案 1 :(得分:0)
与其在订单资源中的hasOne关系中尝试使用 when ,而不是使用 whenloaded :
'customer' => $this->when($this->customer, new CustomerResource($this->customer))
如果您的客户关系不为空,它将与您的CustomerResource一起加载。