1 回答
TA贡献1862条经验 获得超7个赞
答案很简单,基本上就是一份官方文档的副本。您只需要将您的订单也包装在一个OrderResource中。
// DataResource
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
'order' => OrderResource::collection($this->order)
];
}
// OrderResource
public function toArray($request)
{
return [
'items' => $this->items,
'quantity' => $this->quantity
];
}
我真的不明白为什么customer_name当它已经存在于客户对象上面的一个层次结构中时,为什么要在订单中包含它。但是如果你真的想添加它,你应该可以这样做:'customer_name' => $this->customers->name。
附带说明:您确实应该与您的命名更加一致。为什么资源DataResource在 about 时被调用Customers?为什么您的模型Customers以复数形式而不是Customer单数形式调用,这是惯例(如果您认为一个模型代表一个客户,则更合乎逻辑)。为什么您的belongsTo关系customers()在返回一个客户时被称为复数,而您的hasMany关系order在返回一个或多个订单时被称为复数?
- 1 回答
- 0 关注
- 209 浏览
添加回答
举报