Laravel 5 Laravel Resource在不为hasOne&;归属关系
我有一个订单模块,其中客户关系为, 公共功能客户(){ } 我获取订单详细信息的查询如下:, $orderResponse=Order::find(1) 我的订单资源包括:, “客户”=>新客户资源($this->whenLoaded('customer')) 所以,预期的结果是我应该在不使用customer对象的情况下获取所有客户详细信息,因为我在获取订单数据时没有加载它。 但这是回应。 加载集合时,它工作正常,但不适用于一个关系。试试这个Laravel 5 Laravel Resource在不为hasOne&;归属关系,laravel-5,Laravel 5,我有一个订单模块,其中客户关系为, 公共功能客户(){ } 我获取订单详细信息的查询如下:, $orderResponse=Order::find(1) 我的订单资源包括:, “客户”=>新客户资源($this->whenLoaded('customer')) 所以,预期的结果是我应该在不使用customer对象的情况下获取所有客户详细信息,因为我在获取订单数据时没有加载它。 但这是回应。 加载集合时,它工作正常,但不适用于一个关系。试试这个 $orderResponse = Order::fi
$orderResponse = Order::find(1);
$orderResponse->customer()->id; //Customer Order Relationship
不要在加载时使用,尝试在订单资源中的hasOne关系中使用when:
'customer' => $this->when($this->customer, new CustomerResource($this->customer))
如果您的客户关系不是空的,它将加载您的CustomerResource。您是否试图获取有订单的客户?比如$orderResponse=Order::find(1)$orderResponse->customer()->id?@ViperTecPro收到了。事实上,这是唯一的问题。我使用$order->customer->name;在相同的资源中,因此整个客户资源加载。谢谢你的问题解决了吗?@ViperTecPro是的。你能检查我的答案吗?如果它真的解决了你的问题。
'customer' => $this->when($this->customer, new CustomerResource($this->customer))